Comment écrire une instruction SQL qui obtient des résultats via une table de relations? (plusieurs à plusieurs)

StackOverflow https://stackoverflow.com/questions/208874

  •  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
Était-ce utile?

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
scroll top