#1 Tue 01 May 2012 12:44
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
selection sur trois tables postgis
salut,
j'ai trois tables table1, table2 et table3 et les troix tables ont un champ commun 'NOM' j'aimerai faire une sélection dans une seule requête sur les trois tables pour savoir les enregistrements qui existent dans les trois tables et ceux qui ne le sont pas. et j'arrive pas à la faire.
est ce que vous pouvez m'aider
merci.
Hors ligne
#2 Tue 01 May 2012 14:02
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: selection sur trois tables postgis
Bonjour,
Il faut faire le meme type de requete que dans le thread précédent, en rajoutant une jointure sur la troisieme table.
Nicolas
Hors ligne
#3 Tue 01 May 2012 14:36
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: selection sur trois tables postgis
c'est ce que j'ai fait mais au niveau de résultat j'ai l'ensemble des champs mais ils sont vides
Code:
SELECT * FROM table1 JOIN table2 ON (table1.nom=table2.nom) JOIN table3 ON (table1.nom=table3.nom)
je sais pas quoi faire
Dernière modification par simo lay (Tue 01 May 2012 14:37)
Hors ligne
#4 Tue 01 May 2012 14:51
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: selection sur trois tables postgis
Vous pouvez utiliser une jointure implicite entre les tables, par exemple tous les elements communs a trois tables:
Code:
select distinct t1.val from t1, t2, t3 where t1.val = t2.val and t1.val = t3.val;
Nicolas
Hors ligne
#5 Tue 01 May 2012 15:02
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: selection sur trois tables postgis
Avec
Code:
select distinct t1.val from t1, t2, t3 where t1.val = t2.val and t1.val = t3.val;
j’obtiens toujours comme résultat un champs mais vide aucune valeur, par contre si j’enlève la deuxième jointure
Code:
select distinct t1.val from t1, t2 where t1.val = t2.val
j'obtiens les champs remplis avec des valeurs
Hors ligne