¿Cómo escribir una declaración SQL que obtenga resultados a través de una tabla de relaciones? (muchos a muchos)

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Tengo 3 tablas (el archivo tiene muchas secciones, la sección (puede pertenecer a muchos archivos)):

  • archive

    • id PK
    • description
  • archive_to_section

    • archive_id PK FK
    • section_id PK FK
  • section

    • id PK
    • description

¿Qué aspecto tendría el SQL para enumerar todas las secciones que pertenecen a un ID de archivo determinado?

Estoy aprendiendo SQL. Por lo que he leído, parece que necesitaría una unión o unión. FYI estoy usando postgres.


[Editar] Esta es la respuesta de gdean2323 escrita sin 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
¿Fue útil?

Solución

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

Otros consejos

SELECT s.*
FROM archive_to_section ats
  INNER JOIN section s ON s.id=ats.section_id
WHERE ats.archive_id= @archiveID
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top