【问题标题】:postgresql join querypostgresql 连接查询
【发布时间】:2016-03-28 13:53:27
【问题描述】:

我有两张桌子 T1 和 T2

T1
-id
-columnA
-columnB
-columnC

T2
-id
-columnX
-columnY
-columnZ

我有一个类似的查询

Select t1.* t2.columnZ 
from T1 t1 
  left join on T2 t2 on t1.id = t2.id 
where t2.columnZ = 'test'

我想要结果,如果“where t2.columnZ = 'test'”没有返回任何行,那么它应该将 columnZ 的值作为空值返回

【问题讨论】:

  • 你能解释一下你需要什么输出吗?

标签: sql postgresql outer-join


【解决方案1】:

试试:

SELECT    t1.*
,         t2.columnZ
FROM      T1 t1
LEFT JOIN T2 t2 
       ON t1.id = t2.id
      AND t2.columnZ = 'test'

你还漏掉了一个逗号,而且你有一个错位的on。

【讨论】:

  • @wingedpanther,我用and 替换了原来的where,where 只选择那些有“测试”的。据我了解,问题是要获得一套完整的产品,有些人可能会“测试”其他人没有。我也不明白你的编辑,这是什么意思?
猜你喜欢
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 2012-12-09
  • 1970-01-01
  • 2018-04-21
  • 2012-01-25
  • 2012-10-10
相关资源
最近更新 更多