2008-10-16 72 views
1

我有3個表(檔案有許多節,節(5月)屬於許多檔案):如何編寫通過關係表獲取結果的SQL語句? (多對多)

  • archive

    • id PK
    • description
  • archive_to_section

    • archive_id PK FK
    • section_id PK FK
  • section

    • id PK
    • description

SQL看起來像列出屬於某個檔案ID的所有部分是什麼樣的?

我只是在學習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 

回答

3
SELECT s.* 
FROM section s INNER JOIN archive_to_section ats ON s.id = ats.section_id 
WHERE ats.archive_id = 1 
3
SELECT s.* 
FROM archive_to_section ats 
    INNER JOIN section s ON s.id=ats.section_id 
WHERE ats.archive_id= @archiveID 
+0

沒錯。要認識到的重要一點是歸檔表不會考慮到這一點。 – 2008-10-16 14:55:03

+0

3秒打我! – 2008-10-16 14:55:42