首页 > 解决方案 > SQL 多表语法

问题描述

我有一张桌子,上面有一堆具体的细节和一些桥梁的细节代码。还有其他单独的表格,其中包含各种代码的描述。例如路缘类型的表,人行道类型的表,关节类型的另一个等。我想创建一个查询,为我提供每个 Bridge 的所有详细信息,但包含来自其他表的代码描述,用于提供代码的字段。结果会给我 ID、尺寸、路边代码描述、人行道代码描述等。真诚感谢任何能帮助我指明正确方向的帮助。

标签: sql

解决方案


就像是

SELECT b.Id, b.something, b.CurbTypeID, c.CurbDescription, b.SidewalkTypeID, s.SidewalkDescription
FROM Bridges b
INNER JOIN Curb c on c.CurbID = b.CurbTypeId
LEFT OUTER JOIN Sidewalk s on s.SidewalkID = b.SidewalkTypeID

INNER JOIN 和 LEFT OUTER JOIN 之间的区别在于,如果您不确定所有 SidewalkTypeID 值是否都实际列在 Sidewalk 表中,或者 SidewalkTypeID 有时为空,则使用 LEFT OUTER JOIN。


推荐阅读