2015-12-22 54 views
0

我有两个表T1和T2PostgreSQL的连接查询

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' 

查询我要像结果,如果“里t2.columnZ =‘测试’”不会返回任何行,那么它应该columnZ的返回值作为空值

+0

你能解释一下你需要的输出吗? –

回答

3

尝试:

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

你也错过了一个逗号,并且你错位了on

+1

@wingedpanther,我用'和'替换了原来的'where','where'只选择那些'test'。根据我的理解,这个问题是要得到一个完整的集合,有些人可能不会“测试”其他人。我也没有得到你的编辑,有什么意义? – HoneyBadger

+0

@HarshHardaha,这是否解决了你的问题? – HoneyBadger