2015-12-22 52 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