Insert into select (from plusieurs tables)
darkness2207
-
Fab -
Fab -
Bonjour,
je voudrais faire des insertions dans une table TABLE1 à partir de données issues de 2 autres tables, TABLE2 et TABLE3.
j'aimerais faire fonctionner cela en 1 seule requête du type
insert into TABLE1 (id1,lib1,titre1)
select id2,lib2,titre3
from TABLE,TABLE3
where id2=id3
j'ai fait un essai et cela m'a bien inséré tous les couple TABLE2/TABLE3 dans TABLE1.
je me demande cependant si cela est fiable ?
est-ce qu'il n'y a aucun risque de bug ?
merci d'avance pour les futures réponses
je voudrais faire des insertions dans une table TABLE1 à partir de données issues de 2 autres tables, TABLE2 et TABLE3.
j'aimerais faire fonctionner cela en 1 seule requête du type
insert into TABLE1 (id1,lib1,titre1)
select id2,lib2,titre3
from TABLE,TABLE3
where id2=id3
j'ai fait un essai et cela m'a bien inséré tous les couple TABLE2/TABLE3 dans TABLE1.
je me demande cependant si cela est fiable ?
est-ce qu'il n'y a aucun risque de bug ?
merci d'avance pour les futures réponses
A voir également:
- Insert into select mysql
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Mysql community server - Télécharger - Bases de données
- Please select boot device - Forum Matériel & Système
- Touche inser sur elite book hp - Forum PC portable
4 réponses
merci pour ta réponse clara,
je me suis trompé dans la requete que j'ai mentionné (oups)
je recommence depuis le début:
peut-on être sûr qu'une requête de cette sorte (ci-dessous) renvoie bien chaque couple possible dans TABLE ?
insert into TABLE1 (lib2,lib3)
select lib2,lib3
from TABLE2,TABLE3
exemple:
on a les données suivantes:
table PERSONNE (idpers / nompers)
1 / marc
2 / arnaud
3 / antoine
table LIEU (idlieu / nomlieu)
1 / restaurant
2 / cinéma
3 / café
on execute alors la requete suivante:
insert into SORTIES (pers,lieu)
select nomlieu,nompers
from PERSONNE, LIEU
et on obtient le résultat
table SORTIES (pers/ lieu)
marc / restaurant
marc / cinéma
marc / café
arnaud/ restaurant
arnaud/ cinéma
arnaud/ café
antoine/ restaurant
antoine/ cinéma
antoine/ café
peut-on être sûr de la fiabilité d'une telle requête (qu'elle ne renvoie pas de doublon, qu'elle renvoie bien chaque couple 1 seule fois...)?
merci d'avance
je me suis trompé dans la requete que j'ai mentionné (oups)
je recommence depuis le début:
peut-on être sûr qu'une requête de cette sorte (ci-dessous) renvoie bien chaque couple possible dans TABLE ?
insert into TABLE1 (lib2,lib3)
select lib2,lib3
from TABLE2,TABLE3
exemple:
on a les données suivantes:
table PERSONNE (idpers / nompers)
1 / marc
2 / arnaud
3 / antoine
table LIEU (idlieu / nomlieu)
1 / restaurant
2 / cinéma
3 / café
on execute alors la requete suivante:
insert into SORTIES (pers,lieu)
select nomlieu,nompers
from PERSONNE, LIEU
et on obtient le résultat
table SORTIES (pers/ lieu)
marc / restaurant
marc / cinéma
marc / café
arnaud/ restaurant
arnaud/ cinéma
arnaud/ café
antoine/ restaurant
antoine/ cinéma
antoine/ café
peut-on être sûr de la fiabilité d'une telle requête (qu'elle ne renvoie pas de doublon, qu'elle renvoie bien chaque couple 1 seule fois...)?
merci d'avance
c'est normal que cela s'enregistre dans les deux tables.verifier ces trables ont des liens et conservent les clés.
courage
courage
Salut Darkness,
C'est une question fort subtile parce qu'à partir du moment on l'où implique deux tables dans une requête Select on s'attend à avoir une jointure (n tables = n-1 jointures) entre ces deux tables.
Malgré tout je ne vois rien qui puisse rendre cette requête non fiable à moins que tes tables, dès le départ contiennent des doublons (dans quel cas tu feras un select distinct).
C'est une question fort subtile parce qu'à partir du moment on l'où implique deux tables dans une requête Select on s'attend à avoir une jointure (n tables = n-1 jointures) entre ces deux tables.
Malgré tout je ne vois rien qui puisse rendre cette requête non fiable à moins que tes tables, dès le départ contiennent des doublons (dans quel cas tu feras un select distinct).
INSERT INTO SORTIES ( pers, lieu )
SELECT nompers, nomlieu
FROM PERSONNE, LIEU;
une clé sur les deux champs de la table SORTIES est souhaitable