我有两个客户信息表,表A和表B.它们除了在查询中找到的列之外不共享任何列,表B中的所有客户都可以在更大的表A中找到。
每当我尝试合并客户数据时,我最终会消除A中的客户而不是B中的客户,或者最终通过获取重复条目来获取太多行。如何加入表格,以便保留表A中的所有表格,并仅将表格B列添加到两者中的客户?这是我最好的尝试:
select a.*, b.*
from table a
join table b
on a.id = b.id
where a.name = b.name ##OR?
**这将给我我需要的一切除了它只给我两个表中的客户。我想我需要包含某种类型的或声明,以便在表A中找到客户而不是表B,但我不知道如何设置它。
答案 0 :(得分:4)
答案 1 :(得分:1)
select id, NULL as somecol1, NULL as somecol2 --add more columns as needed
from tablea
UNION
select id, somecol1, somecol2 --add more columns as needed
from tableb
where id in (select id from tablea)
您可以使用union
来实现您的需求。