Jointure SQL en cascade

Laulo - 25 août 2022 à 14:24
eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022 - 14 nov. 2022 à 10:13

Bonjour,

voilà ma problématique, récupérer des champs dans plusieurs tables en cascade ...

j'ai 3 tables: Branchement, Portion et Regard

Je souhaite pour un branchement donné récupérer des attributs dans la table (regard) en cascade de la seconde (portion).

J'ai réussi a récupérer numero_portion et ordre_logique qui se trouve dans la table.Portion avec :

select b.ba_id, b.num_BR, b.diametre, b.geometry1, p.numero_portion, p.ordre_logique

from branchement b

left join portion p on b.ba_id_aval=p.ba_id where b.ba_id=70125;

Comment faire pour récupérer en plus le champ Num_regard qui se trouve dans la table.Regard sachant que Ba_Id_amont (portion) = Ba_id (regard)

J'espère que je suis clair dans mes explications !

Merci par avance de vos conseils

Laurent

1 réponse

eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022
14 nov. 2022 à 10:13

Hello Laulo,

J'arrive probablement après la guerre mais ca pourra peut-être aider les suivants...

Dans ton ca, tu peux enchainer les JOIN:

select b.ba_id, b.num_BR, b.diametre, b.geometry1, p.numero_portion, p.ordre_logique, r.num_regard

from branchement b

left join portion p on b.ba_id_aval=p.ba_id 

left join regard r on r.ba_id = p.ba_id_amount

where b.ba_id=70125;

Note que dans ton cas la requête renverra 2 résultats vu que tu as 2 REGARD avec l'ID 300002. (Chose étrange d'ailleurs, l'ID étant supposé unique - vérifie que ta PRIMARY KEY est bien définie).

Bon courage!

0
Rejoignez-nous