如何编写通过关系表获取结果的SQL语句?(多对多)
-
03-07-2019 - |
题
我有 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
不隶属于 StackOverflow