Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 31 August 2017 11:56

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB