postgresql - postgresql 左连接不起作用
问题描述
我想将表 B 的所有列添加到表 A 中,基于公共列(数字类型)进行连接。我正在尝试使用 LEFT JOIN 来完成,但添加的列都是空白的。这是不可能的,因为表 b 存储了相同的 ID 值等。我哪里错了?
Select * from "2017_01" left join "Registry_2017" on '2017_01.ID' = 'Registry_2017.ID';
解决方案
你做错了..我不知道为什么你可以使用正确的Table
呼叫"2017_01"
和不同的'2017_01.ID'
..
'
= 单引号标识为String
"
= 双引号标识为Table or Column
转义命名
Select
*
From
"2017_01"
left join "Registry_2017" on '2017_01.ID' = 'Registry_2017.ID';
所以当你这样做'2017_01.ID' = 'Registry_2017.ID'
的时候,条件总是会变成false
因为那两个不同String
的不相等。Postgresql
看起来条件不是Table and Column
因为String
你正在使用Single quote
Select
*
from
"2017_01"
left join "Registry_2017" on "2017_01"."ID" = "Registry_2017"."ID";
所以查询应该是这样的..即使你已经得到了答案并且它得到了工作我必须告诉这个..
推荐阅读
- r - 在 R markdown 中包裹长 url 行
- python - 删除列表中包含的 numpy 行?
- excel - Excel:下一个单元格值
- kendo-ui - Kendo Grid 自定义工具栏按钮启用/禁用
- lisp - 列表作为 Lisp 中的函数参数
- typescript - 按角度 6 的按钮事件
- mysql - 用每行具有不同值的公式更新mysql行
- php - 如何在php中的特定单词之后修剪字符串?
- ios - 使用 Swift 而不是 Objective C 开始 React Native
- javascript - 如何在不更改地址栏中的 URL 的情况下使用 react-router 更改组件?