Come scrivere un'istruzione SQL che ottiene risultati tramite una tabella di relazioni? (molti a molti)

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

  •  03-07-2019
  •  | 
  •  

Domanda

Ho 3 tabelle (l'archivio ha molte sezioni, la sezione (può) appartenere a molti archivi):

  • archivio

    • ID PK
    • Descrizione
  • archive_to_section

    • archive_id PK FK
    • section_id PK FK
    • ID PK
    • Descrizione

Come sarebbe l'SQL per elencare tutte le sezioni che appartengono a un determinato ID di archivio?

Sto solo imparando SQL. Da quello che ho letto sembra che avrei bisogno di un join o unione? Cordiali saluti, sto usando Postgres.


[Modifica] Questa è la risposta di gdean2323 scritta senza 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
È stato utile?

Soluzione

SELECT s.* 
FROM section s INNER JOIN archive_to_section ats ON s.id = ats.section_id 
WHERE ats.archive_id = 1

Altri suggerimenti

SELECT s.*
FROM archive_to_section ats
  INNER JOIN section s ON s.id=ats.section_id
WHERE ats.archive_id= @archiveID
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top