Requette SQL ds 2 tables

Résolu
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 10 nov. 2006 à 00:54
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 10 nov. 2006 à 11:23
Bonjour,
je travail sur MySQL,
j'ai deux tables :
table1(id_table1,nom)
table2(id_table2,nom,prenom,adresse)
dont : table2 contient des informations supplementaires de table1.
jeu de données :

table1(1,nom1), table1(2,nom2,table1(3,nom3),table1(4,nom4),table1(5,nom5)
table2(2,nom2,prenom2,adresse2), table2(4,nom4,prenom4,adresse4)

je veux afficher les informations des 2 tables avec l'affichage de la table2
en premier sous forme :
2 nom2 prenom2 adresse2
4 nom4 prenom4 adresse4
1 nom1
3 nom3
5 nom5

Alors comment faire, la syntaxe de la requete SQL ?????
Merci.

2 réponses

cs_alexscott Messages postés 54 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 05:49
j'avais que ca a fouttre alors je me suis amuse a le faire ... tu peux te considerer comme chanceux d'avoir sous la main un blaireau qui se fait chier :s

CREATE TABLE petite( Id INT NOT NULL AUTO_INCREMENT, Name CHAR(5) NOT NULL default '', PRIMARY KEY(Id));
CREATE TABLE grande( Id INT NOT NULL AUTO_INCREMENT, Name CHAR(5) NOT NULL default '', Prenom CHAR(5) NOT NULL default '',Adresse CHAR(5) NOT NULL default '', PRIMARY KEY(Id));
INSERT INTO petite (Name) VALUES ('Nom1'), ('Nom2'), ('Nom3'), ('Nom4'), ('Nom5');
INSERT INTO petite * VALUES (2,'Nom2','Pren2','Adr2'),(4,'Nom4','Pren4','Adr4');

SELECT * FROM grande UNION SELECT *,'','' FROM petite WHERE petite.Name NOT IN (SELECT grande.Name FROM grande);

bon en relisant je me dis que c'est un peu pourri d'avoir 3 SELECT il doit y a un moyen de pas avoir besoin du dernier mais je sais plus comment :s

tout simplement ... a la place de ,'','' que j'ai ajoute pour qu'il y ait le meme nombre de colonnes pour pas que l'union me sorte un
"ERROR 1222 (21000): The used SELECT statements have a different number of columns"
je me suis dis allez tente *,NULL,NULL et c'est passe alors apres je me suis dit que peut-etre que '' c'etait plus pratique que NULL.
enfin bon ... je me fais vraiment chier t'as de la chance ...
j'aurais juste du te dire de te demerder avec l'UNION.
3
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
10 nov. 2006 à 11:23
bonjour,
merci pour la reponse, j ai trouvé une autre soltution,mais puisque t as testé et ça marche,
donc j accepte ta reponse,
:)
0
Rejoignez-nous