Pages: 1
- Sujet précédent - Vérifier la correspondance entre une table A et une table B - Sujet suivant
#1 Thu 31 August 2017 11:33
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Vérifier la correspondance entre une table A et une table B
Je rencontre actuellement une difficulté en SQL.
Je cherche à vérifier la correspondance entre le nombre de fourreaux dans la couche « fourreaux » avec le nombre de fourreaux (nb_ TRCH_NB_F) dans la couche « tranchée ».
Le problème réside dans le fait que l’information du nombre de fourreaux n’est pas contenue dans un champs de la table « fourreaux ». On ne peut connaitre le nombre de fourreaux dans celle-ci qu’en sélectionnant des linéaires. Dans l’exemple 1 j’ai sélectionné 3 entités dans la tables « fourreaux ». Celles-ci sont superposées les unes aux autres.
De plus, le tracé des fourreaux est superposé point par point à celui des tranchées. Voici ce que cela donne en visuel (exemple 2) lorsque je sélectionne une entité au même endroit dans la couche « tranchée ». L’information du nombre de fourreaux apparait dans le champ ‘TRCH_NB_F’ .
J'espère avoir été assez claire..Pourriez vous m’aider à trouver un début de requête en Postgres SQL/Postgis?
Merci d’avance !
Dernière modification par bruhnild (Thu 31 August 2017 11:33)
Hors ligne
#2 Thu 31 August 2017 11:56
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: Vérifier la correspondance entre une table A et une table B
Salut,
Si j'ai bien compris :
Code:
SELECT f.geom, f_geom, t.geom t_geom, count_fourreaux, TRCH_NB_F TRCH_NB_F = count_fourreaux AS sont_egaux FROM (SELECT geom, count(0) count_fourreaux FROM fourreau GROUP BY geom ) as f JOIN tranchee t ON t.geom = f.geom
Dernière modification par tumasgiu (Thu 31 August 2017 11:57)
Hors ligne
#3 Thu 31 August 2017 14:07
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Vérifier la correspondance entre une table A et une table B
Merci tumasgiu pour la réponse rapide, c'est plus que je n'en espérais!
Voici la requete finale:
Code:
SELECT f.geom as lgfourreaux_geom, t.geom as tranchee_geom, count_fourreaux, TRCH_NB_F = count_fourreaux AS sont_egaux FROM (SELECT geom, count(0) count_fourreaux FROM travail.lgfourreaux GROUP BY geom ) as f JOIN travail.tranchee t ON t.geom = f.geom
Et le résultat en PJ
Dernière modification par bruhnild (Thu 31 August 2017 14:07)
Hors ligne
Pages: 1
- Sujet précédent - Vérifier la correspondance entre une table A et une table B - Sujet suivant