我有 3 个表(档案有许多部分,部分(可能)属于许多档案):

  • archive

    • id PK
    • description
  • archive_to_section

    • archive_id PK FK
    • section_id PK FK
  • section

    • id PK
    • description

列出属于某个存档 ID 的所有部分的 SQL 会是什么样子?

我刚刚学习SQL。从我读到的内容看来我需要加入或联合?仅供参考,我正在使用 postgres。


[编辑] 这是 gdean2323 的答案,没有使用别名:

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
有帮助吗?

解决方案

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

其他提示

SELECT s.*
FROM archive_to_section ats
  INNER JOIN section s ON s.id=ats.section_id
WHERE ats.archive_id= @archiveID
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top