如何将JOIN的结果与另一个结果集合并?

时间:2011-12-07 19:19:29

标签: sql-server-2005 sql-server-2008

我有2个表,CLIENTSMEMBERS。我们正试图从CLIENTS表中获取成员的地址以及MEMBERS表中IDMEMBERS的{​​{1}}匹配的所有记录{ {1}}。

同时,我们还希望显示ID表格中其余成员的信息,其中CLIENTSMEMBERSID或{ {1}}表。

我认为以下查询会这样做,但它没有从NULL表中获取所有记录:

CLIENTS

我做错了什么?

1 个答案:

答案 0 :(得分:0)

除非我遗漏某些内容,否则您只需要OUTER JOIN

SELECT COALESCE(c.ID, '') AS ID,
       m.ID,
       m.fname,
       m.lname,
       m.address,
       m.city,
       m.state,
       m.zip
FROM   members m
       LEFT OUTER JOIN Client c
         ON c.id = m.id  

关于您问题中的问题,NULL表中的id值是否为Clients?这通常是意外NOT IN行为的原因。