sql - SQL 多表语法
问题描述
我有一张桌子,上面有一堆具体的细节和一些桥梁的细节代码。还有其他单独的表格,其中包含各种代码的描述。例如路缘类型的表,人行道类型的表,关节类型的另一个等。我想创建一个查询,为我提供每个 Bridge 的所有详细信息,但包含来自其他表的代码描述,用于提供代码的字段。结果会给我 ID、尺寸、路边代码描述、人行道代码描述等。真诚感谢任何能帮助我指明正确方向的帮助。
解决方案
就像是
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。
推荐阅读
- python-3.x - AttributeError:模块 'whois' 没有属性 'whois' [库已安装] - Python 3.6.7
- redux - 当我们在循环中使用 Redux-Saga all effect 时如何处理错误?
- kotlin - 仅当调用观察者方法时才返回值
- uipath - UIPath 社区版上的计划作业有什么问题?
- docker - 当我`ddev start`时,我得到“获取https://registry-1.docker.io/v2/drud/ddev-ssh-agent/manifests/v1.6.0:未授权:用户名或密码不正确”
- c# - 如何使用实体框架将二维数组保存在数据库中
- r - 图标在 R Shiny 中显示为 html 标签
- excel - 从特定列数据读取的 VBA 代码
- google-cloud-dataflow - Cloud Dataflow 新鲜度和延迟的确切定义是什么?
- javascript - javascript控制台陷阱?setTimeout 在控制台中返回的那些值是什么?