Comment écrire une instruction SQL qui obtient des résultats via une table de relations? (plusieurs à plusieurs)
-
03-07-2019 - |
Question
J'ai 3 tables (les archives ont plusieurs sections, les sections peuvent appartenir à de nombreuses archives):
-
archive
-
id PK
-
description
-
-
archive_à_section
-
FK PK
-
section_id PK FK
-
-
section
-
id PK
-
description
-
À quoi ressemblerait le code SQL pour répertorier toutes les sections appartenant à un certain identifiant d'archive?
Je suis en train d'apprendre SQL. D'après ce que j'ai lu, il semblerait qu'il me faudrait une union, un syndicat? Pour info, j'utilise postgres.
[Modifier] C'est la réponse de gdean2323 écrite sans alias:
SELECT section.*
FROM section
INNER JOIN archive_to_section
ON section.id = archive_to_section.section_id
WHERE archive_to_section.archive_id = $this_archive_id
La solution
SELECT s.*
FROM section s INNER JOIN archive_to_section ats ON s.id = ats.section_id
WHERE ats.archive_id = 1
Autres conseils
SELECT s.*
FROM archive_to_section ats
INNER JOIN section s ON s.id=ats.section_id
WHERE ats.archive_id= @archiveID
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow