通过连接表与可空字段连接

时间:2009-04-10 14:46:03

标签: sql

“普通的SQL问题”:)我有两个表和第三个作为“半联结表”的表,这意味着有时只有两个外键中的一个。有没有办法加入它们?

例如,给出以下数据:

表D id:1,2,3,4,5
表C id:1,2,3
表格连接(D.id,C.id):( 1,1)(2,NULL)(3,NULL)(4,2)(5,3)

有没有办法检索以下内容?
([行id 1的D字段],[行id 1的C字段])
([行ID 2的D字段],[NULL C字段])
([行ID 3的D字段],[NULL C字段])
([行ID 4的D字段],[行id 2的C字段])
([行ID 5的D字段],[行ID 3的C字段])

如果相关,我正在使用PostgreSQL 谢谢你的时间!

1 个答案:

答案 0 :(得分:3)

SELECT  d.*, c.*
FROM    d
JOIN    junction j
ON      j.d_id = d.id
LEFT JOIN
        с
ON      c.id = j.c_id