2013-04-07 46 views
0

我有兩個表:的Postgres如何加入表A,B時,B是偏一

表A - 大表

key,value1 

B表 - 較小的表不是所有的鍵存在於該表

keyint, value2 

我想結合到第三個表 - 表C.

key,value1,value2 

(其中value2將apear,如果存在,如果不是空或0或NULL)

我如何在postgres中執行此操作?

+0

「左連接」是正確的事情。也許'limit 10000'只顯示那些在b中實際匹配的行? – 2013-04-07 16:09:18

+0

謝謝,我發現解決方案,是離開外部加入! – yaron 2013-04-07 16:21:22

+1

@a_horse_with_no_name +1爲小提琴,但你稍微誤讀了quesition:value1不在表B中,因此它不含糊。 – BellevueBob 2013-04-07 16:22:58

回答

1

(添加爲編輯通過筆者的問題,所以發帖爲CW這裏):

我已經找到了解決辦法:

SELECT key,value1,value2 
      FROM A as A1 
      left outer join B on A1.key =B.keyint limit 10000;  

左外連接會從A的所有記錄,並把價值如果它們存在於B

相關問題