III. Exercices - 2° partie▲
III-A. Problème n° 11 - premiers ▲
En partant d'une simple table contenant les nombre de 0 à 10000, sauriez vous en une seule requête obtenir tous les nombres premiers entre 1 et 10000 ?
Pour cela repartons de la table générée à l'exercice 6 :
CREATE
TABLE
T_ENTIER_ENT
(
ENT_N INTEGER
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
0
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
1
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
2
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
3
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
4
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
5
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
6
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
7
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
8
)
;
INSERT
INTO
T_ENTIER_ENT VALUES
(
9
)
;
...
ENT_N
------
0
1
2
3
4
5
6
7
8
9
...
C'est plus facile que cela en à l'air, si l'on se souvient qu'un nombre premier est un nombre qui n'est divisible que par lui même et 1. Ou plutôt qu'un nombre qui n'est pas premier est divisible par un nombre compris entre 2 et lui-même moins un...
En l'occurrence, le résultat doit être le suivant :
ENT_N
-----------
0
1
2
3
5
7
11
13
17
19
23
29
31
...
On pourra bien entendu disserter éternellement sur la fait que 0 est premier ou non ! Mais sauriez vous exprimer la solution en une seule requête ?
cliquez pour répondre et titrez votre mail " Problème n°11 - premiers "
III-B. Problème n° 12 - la traduction ▲
Voici un probléme intéressant pour les utilisateurs d'applications multilingues. C'est à nouveau un internaute, Sylvain qui m'a posé une colle ! Voici ce que Sylvain à posté :
"Bonjour, j'ai une table avec trois colonnes : id, langue, titre avec comme clé (id, langue). Je voudrais faire une requête du genre :
SELECT
titre, id, langue
FROM
matable
WHERE
"(langue='francais' ou alors langue='anglais' si n'existe pas en francais)"
En gros, je veux les résultats, de préférence en francais, mais si il n'y a pas de ligne pour le français, alors je voudrais la ligne pour la langue anglaise."
Est-ce possible ?
Voici le jeu d'essais avec lequel j'ai travaillé :
CREATE
TABLE
T_TRADUCTION_TDR
(
TDR_ID INTEGER
,
TDR_LANGUE VARCHAR
(
8
)
,
TDR_LIBELLE VARCHAR
(
256
))
;
INSERT
INTO
T_TRADUCTION_TDR VALUES
(
1
, 'Français'
, 'Erreur irrécupérable'
)
;
INSERT
INTO
T_TRADUCTION_TDR VALUES
(
1
, 'Anglais'
, 'Fatal error'
)
;
INSERT
INTO
T_TRADUCTION_TDR VALUES
(
3
, 'Français'
, 'Disque saturé'
)
;
INSERT
INTO
T_TRADUCTION_TDR VALUES
(
4
, 'Anglais'
, 'Memory fault'
)
;
Quelques-uns de mes collègues ont trouvé d'élégantes solutions... Sauriez vous trouver au moins une façon de faire ?
Voici en tout cas le résultat attendu :
TDR_LIBELLE TDR_ID TDR_LANGUE
-------------------------- ----------- ----------
Erreur irrécupérable 1
Français
Disque saturé 3
Français
Memory
fault 4
Anglais
A vos claviers !
cliquez pour répondre et titrez votre mail " Problème n°12 - traduction "
III-C. Problème n° 13 - scores ▲
La question vient d'un forum. Étant anonyme, je vous la donne telle quelle :
"Je fait un petit QCM sur internet et je crée 2 tables dans ma base de données. L'une de ces tables contient les informations sur les sondés (nom,prénom,etc..) ainsi que leurs réponses à mes questions (table T_PANEL_PNL). L'autre table contient, elle, les réponses justes à mes questions (T_REPONSES_RPS).
J'aimerais savoir si il est possible à l'aide de requètes de comparer ces 2 tables, c'est à dire que j'aimerais comparer les réponses de mes sondès aux réponses justes afin de déterminer les scores..."
Voici le jeu d'essais utilisé :
CREATE
TABLE
T_PANEL_PNL
(
PNL_NOM VARCHAR
(
16
)
,
PNL_REPONSE1 INTEGER
,
PNL_REPONSE2 INTEGER
,
PNL_REPONSE3 INTEGER
,
PNL_REPONSE4 INTEGER
,
PNL_REPONSE5 INTEGER
)
;
CREATE
TABLE
T_REPONSES_RPS
(
RPS_REPONSE1 INTEGER
,
RPS_REPONSE2 INTEGER
,
RPS_REPONSE3 INTEGER
,
RPS_REPONSE4 INTEGER
,
RPS_REPONSE5 INTEGER
)
;
INSERT
INTO
T_PANEL_PNL VALUES
(
'Pierre'
, 1
, 2
, 3
, 0
, 0
)
;
INSERT
INTO
T_PANEL_PNL VALUES
(
'Paul'
, 1
, 5
, 3
, 2
, 1
)
;
INSERT
INTO
T_PANEL_PNL VALUES
(
'Jacques'
, 0
, 3
, 3
, 2
, 2
)
;
INSERT
INTO
T_REPONSES_RPS VALUES
(
1
, 4
, 3
, 2
, 1
)
;
Sauriez vous trouver une réponse pour qu'en une seule requête apparaisse la réponse suivante :
PNL_NOM BONNES_REPONSES
---------------- ---------------
Paul 4
Pierre 2
Jacques 2
A vos claviers !
cliquez pour répondre et titrez votre mail " Problème n°13 - scores "
III-D. Problème n° 14 - tranches d'âge ▲
C'est encore un anonyme qui me pose une question sur le forum SQLpro...
Bonjour,
Sur une table comprenant une date de naissance, je cherche à obtenir le nombre d'enregistrements dont les personnes ont de 1 jour à 18 ans, de 18 à 40 ans et les plus de 40 ans.
Qui peut m'indiquer la requête à effectuer ?
Reprenons les données de l'exercice 5 :
CREATE
TABLE
T_CLIENT_CLI
(
CLI_ID INTEGER
,
CLI_NOM VARCHAR
(
16
)
,
CLI_DATE_NAISSANCE DATE
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
24
, 'HESS'
, '1984-08-30'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
25
, 'CHATON'
, '1938-12-31'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
26
, 'PLATONOFF'
, '1960-03-29'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
27
, 'LETERRIER'
, '1945-08-26'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
28
, 'MONTEIL'
, '1985-03-23'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
29
, 'SPITHAKIS'
, '1956-03-31'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
30
, 'ORELL'
, '1996-01-27'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
31
, 'MARTINET'
, '1946-10-24'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
32
, 'RAY'
, '1979-12-20'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
33
, 'TARSAC'
, '1992-08-14'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
34
, 'COULOMB'
, '1963-01-01'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
35
, 'SAVY'
, '1942-10-03'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
36
, 'DAVID'
, '1922-09-19'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
37
, 'FORGEOT'
, '1989-09-13'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
38
, 'BERGER'
, '1946-10-16'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
39
, 'DOUBLET'
, '1961-03-02'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
40
, 'MATHIEU'
, '1990-02-24'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
41
, 'MOURGUES'
, '1953-01-14'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
42
, 'PIERROT'
, '1933-02-11'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
44
, 'ZAMPIERO'
, '1985-01-19'
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
45
, 'PASCOT'
, Null
)
;
INSERT
INTO
T_CLIENT_CLI VALUES
(
46
, 'MECHRI'
, '1950-08-11'
)
;
CLI_ID CLI_NOM CLI_DATE_NAISSANCE
----------- ---------------- ------------------
24
HESS 1934
-
08
-
30
25
CHATON 1938
-
12
-
31
26
PLATONOFF 1960
-
03
-
29
27
LETERRIER 1945
-
08
-
26
28
MONTEIL 1935
-
03
-
23
29
SPITHAKIS 1956
-
03
-
31
30
ORELL 1956
-
01
-
27
31
MARTINET 1946
-
10
-
24
32
RAY 1939
-
12
-
20
33
TARSAC 1942
-
08
-
14
34
COULOMB 1963
-
01
-
01
35
SAVY 1942
-
10
-
03
36
DAVID 1922
-
09
-
19
37
FORGEOT 1949
-
09
-
13
38
BERGER 1946
-
10
-
16
39
DOUBLET 1961
-
03
-
02
40
MATHIEU 1940
-
02
-
24
41
MOURGUES 1953
-
01
-
14
42
PIERROT 1933
-
02
-
11
44
ZAMPIERO 1945
-
01
-
19
45
PASCOT NULL
46
MECHRI 1950
-
08
-
11
Le résultat de votre requête doit apparaître comme suit :
TRANCHE_MIN TRANCHE_MAX NOMBRE
----------- ----------- -----------
0
18
6
18
40
4
40
9999
13
Sauriez vous répondre à notre internaute et de façon générique, c'est à dire quelle que soit les futures tranches d'âge à gérer ?
cliquez pour répondre et titrez votre mail " Problème n°14 - tranches d'age "
III-E. Problème n° 15 - titres sans article ▲
Dans les titres des livres (comme dans les titres des films) il y a souvent un article (le, la les, un, une, des...) situé en tête qui parasite l'apparition des oeuvres dans l'ordre alphabétique. D'ou la question de notre internaute, "Bouchon", son nom de code sur le forum SQL de www.developpez.com, qui demande : "J'aimerais, s'il y a un article au début du titre ("LE","LA","L'"), que celui-ci soit retiré de la chaine et se retrouve à la fin de celle-ci et entre parenthèses."
Voici notre jeu d'essais :
CREATE
TABLE
T_OUVRAGES_OVG
(
OVG_TITRE VARCHAR
(
64
))
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'Le journal de Raymond'
)
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'Le vélo d''Alphonse'
)
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'Découvrir l''escalade'
)
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'L''âge du capitaine'
)
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'Comment dévisser la vis'
)
;
INSERT
INTO
T_OUVRAGES_OVG VALUES
(
'D''amour et d''eau fraiche'
)
;
Contenu de la table | Résultat attendu |
---|---|
Sélectionnez
|
Sélectionnez
|
Sélectionnez
|
Sélectionnez
|
Une colle finalement assez facile. Je l'ai résolue en 10 minutes... Sauriez vous être aussi performant que moi ???
Sauriez vous répondre à notre internaute ?
cliquez pour répondre et titrez votre mail "
Problème n°15 - titres sans article
"
III-F. Problème n° 16 - Tri des titres▲
Voici encore un problème de tri... Il m'a été posé par un internaute sur le forum SQL de www.developpez.com. Il pourrait être le suite de notre exercice précédent.
Notre internaute voulait trier les titres de ses livres par ordre aplhabétique et laisser tous ceux qui ne commençent pas par une lettre à la fin. Mais en plus il exige que les titres commençant par un chiffre soient positionnés par rapport à leur écriture en lettre... Autrement dit "2001 l'odyssée de l'espace', doit figurer après "Ben Hur" et avant "Double assassinat dans la rue morgue.
Sauriez vous lui répondre ?
Exemple :
CREATE
TABLE
T_LIVRE_LVR
(
LVR_TITRE VARCHAR
(
64
))
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'À la recherche du temps perdu'
)
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'La bible'
)
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'2001 l''odyssée de l''espace'
)
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'Ben Hur'
)
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'Double assassinat dans la rue morgue'
)
;
INSERT
INTO
T_LIVRE_LVR VALUES
(
'Les trois mousquetaires'
)
;
Si vous avez brillament répondu à notre précédent puzzle, alors vous devriez solutionner celui là !
Voici le résultat attendu :
LVR_TITRE
----------------------------------------------------------------
À la recherche du temps perdu
Ben Hur
2001
l'odyssée de l'
espace
Double
assassinat dans la rue morgue
La bible
Les trois mousquetaires
cliquez pour répondre et titrez votre mail "
Problème n°16 - tri des titres
"
III-G. Problème n° 17 - Appariement▲
Le terme appariement vient de mettre en paires, c'est à dire apparier. On dit appariement et et non apparition comme s'il s'agissait de fantôme par exemple...
Cette demande, qui m'a donné du fil à retordre, provient du forum SQL du site www.developpez.com que j'anime.
Il s'agit de récupérer les valeurs de la colonne A pour laquelle les données de la colonne B sont exactement les mêmes qu'une autre valeur de la colonne A.
CREATE
TABLE
T_PAIRE_PER
(
PER_1 CHAR
(
2
)
,
PER_2 CHAR
(
2
))
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A1'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A1'
, 'B2'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A2'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A2'
, 'B3'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A3'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A3'
, 'B3'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A3'
, 'B7'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A3'
, 'B4'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A4'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A4'
, 'B3'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A5'
, 'B2'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A6'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A6'
, 'B4'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A6'
, 'B7'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A6'
, 'B3'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A8'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A8'
, 'B4'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A8'
, 'B7'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A8'
, 'B3'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A9'
, 'B1'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A9'
, 'B4'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A9'
, 'B8'
)
;
INSERT
INTO
T_PAIRE_PER VALUES
(
'A9'
, 'B3'
)
;
Pour bien comprendre le problème, nous allons analyser ensemble les deux premières valeurs de la colonne A. Démarrons avec la valeur 'A1' de la colonne PER_1 :
Sélectionnez
|
Sélectionnez
|
Analysons maintenant la valeur 'A2' de la colonne PER_1 :
Sélectionnez
|
Sélectionnez
|
Ici les seuls résulats valables sont 'A2' avec 'A4', puis 'A3' avec 'A6' et 'A8'. En effet les données de la colonne PER_2 sont identiques pour 'A2' et 'A4' ('B1' et 'B3'). Les données de la colonne B sont aussi identiques pour 'A3', 'A6' et 'A8', (' B1', 'B3', 'B4', 'B7').
Le résultat doit donc être :
PER_1
-----
A2
A3
A4
A6
A8
Simple en apparence, ce problème s'avère en fin de compte assez complexe. Mais j'ai déjà commencé le travail de décortication pour vous mettre sur la voie...
cliquez pour répondre et titrez votre mail " Problème n°17 - appariement "
III-H. Problème n° 18 - Meilleure correspondance▲
Voici une question qui m'a été posée sur le forum SQL de www.developpez.com par neness...
Je possède une table T_ROUTE_RTE ainsi remplie :
CREATE
TABLE
T_ROUTE_RTE
(
RTE_DESTINATION VARCHAR
(
32
)
,
RTE_CODE CHAR
(
16
))
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'albania-Mobile'
, '0035538'
)
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'albania-Mobile'
, '0035569'
)
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'albania-Mobile'
, '0035560'
)
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'SFR-Mobile'
, '0077280'
)
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'SFR-Mobile'
, '0077390'
)
;
INSERT
INTO
T_ROUTE_RTE VALUES
(
'BOUYGE_TEL'
, '0078452'
)
;
Pour chaque RTE_DESTINATION, je recherche la partie de la colonne RTE_CODE dont les données sont communes dans le sens de lecture. Notre quidam essaye donc de trouver les meilleures correspondances partielles de RTE_CODE communes à une même famille de RTE_DESTINATION. Notez qu'il s'agit d'ailleurs d'une opération proche d'un calcul d'agrégat...
Dans l'exemple donné, la requête doit renvoyer :
RTE_DESTINATION RTE_CODE
-------------------- ---------------
albania-
Mobile 00355
BOUYGE_TEL 0078452
SFR-
Mobile 0077
En effet, '00355' est la plus grande partie commune commençant chaque RTE_CODE pour 'albania-Mobile', de même '0078452' pour 'BOUYGE_TEL' et de même '0077' pour 'SFR-Mobile'.
Autrementy dit, quelle est la partie de RTE_DESTINATION correspondant aux premiers caractères communs à chaque occurence de la colonne RTE_CODE.
Simple, mais comment faire ?
cliquez pour répondre et titrez votre mail " Problème n°18 meilleure correspondance "
III-I. Problème n° 19 - La médiane▲
Dans un forum consacré à SQL Server de Microsoft, j'ai trouvé cette question forte intéressante :
Bonjour,Je doit calculer des données statistiques et la médiane est absente...Comment cela peut il être réalisé en une requête ?.
Comme ce problème s'avère en définitif assez complexe, le voici exprimés pour différents cas...
1) les données à calculées sont toutes différentes (il n'y a pas de doublon) et en nombre impaires :
Voici le jeu de données que j'ai utilisé pour ce cas :
CREATE
TABLE
T_STATISTIQUES_STT
(
STT_ID INT
,
STT_VALEUR FLOAT
NOT
NULL
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
1
, 22
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
2
, 27
.5
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
3
, 22
.5
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
4
, 24
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
5
, 23
.0
)
;
La solution étant :
STT_VALEUR
----------
23
.0
2) les données à calculées sont toutes différentes (il n'y a pas de doublon) et en nombre paires :
Rajoutons au jeu précédent la ligne :
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
6
, 23
.5
)
;
La solution devient :
STT_VALEUR
----------
23
.25
3) voyons ce qu'il se passe avec des valeurs identiques multiples et un nombre de lignes impair :
Rajoutons au jeu précédent les lignes :
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
7
, 22
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
8
, 22
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
9
, 22
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
10
, 22
.0
)
;
INSERT
INTO
T_STATISTIQUES_STT VALUES
(
11
, 22
.0
)
;
La solution devient :
STT_VALEUR
----------
22
.0
C'est le genre de problème qui a passionné les spécialistes de SQL que sont Joe Celko et Chris Date. Sauriez vous au moins traiter le cas n° 1 ?
cliquez pour répondre et titrez votre mail " Problème n°19 - mediane "
III-J. Problème n° 20 - Insertion en bloc▲
Voici un problème intéressant pour s'affanchir de certaines procédures stockées bêtes et méchante...Comment insérer de multiple ligne, par exemple dans une table de jointure, sans faire appel à une boucle et à l'aide d'une seule et unique requête ?
Notre problème est le suivant. Soit une table d'objets définie comme suit :
CREATE
TABLE
T_OBJET_OBJ
(
OBJ_OBJET VARCHAR
(
16
))
;
INSERT
INTO
T_OBJET_OBJ VALUES
(
'feu tricolore'
)
;
INSERT
INTO
T_OBJET_OBJ VALUES
(
'drapeau français'
)
;
... une table listant des couleurs :
CREATE
TABLE
T_COULEUR_CLR
(
CLR_COULEUR VARCHAR
(
8
))
;
INSERT
INTO
T_COULEUR_CLR VALUES
(
'blanc'
)
;
INSERT
INTO
T_COULEUR_CLR VALUES
(
'bleu'
)
;
INSERT
INTO
T_COULEUR_CLR VALUES
(
'vert'
)
;
INSERT
INTO
T_COULEUR_CLR VALUES
(
'rouge'
)
;
INSERT
INTO
T_COULEUR_CLR VALUES
(
'orange'
)
;
... et une table de jointure associant les deux, table actuellement vide :
CREATE
TABLE
T_OBJET_COULEUR_OBC
(
OBJ_OBJET VARCHAR
(
16
)
,
CLR_COULEUR VARCHAR
(
8
))
;
Nous aimerions parvenir à remplir de la sorte la table d'association T_OBJET_COULEUR_OBC :
OBJ_OBJET CLR_COULEUR
---------------- -----------
feu tricolore vert
feu tricolore rouge
feu tricolore orange
drapeau français blanc
drapeau français bleu
drapeau français rouge
Sauriez-vous trouver en une seule requête comment procéder à l'insertion massive de ces six lignes ?
cliquez pour répondre et titrez votre mail " Problème n°20 - insertion en bloc "