banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB