2013-04-07 18 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

相关问题