加入或联合所有组合记录?

时间:2014-05-09 20:31:54

标签: sql sql-server

我有2个类似的表格,其中包含广告系列名称。我知道我可以做一个联合所有组合表,但我想知道是否有办法使用Join的形式来做到这一点?我想创建一个表格Z,其中包含表格A的广告系列名称以及表格B中的广告系列名称(不在A中)。我可以通过加入来实现这一点,还是Union ALL是唯一的方式?

3 个答案:

答案 0 :(得分:0)

SELECT * INTO TABLEZ
FROM 
  (
    SELECT Column1, Column2, Column3.... FROM TABLEA 
    UNION ALL
    SELECT Column1, Column2, Column3.... FROM TABLEB
  )Q

答案 1 :(得分:0)

UNION是更容易和正确的方法。纯粹的练习你可以通过JOIN来做到这一点,但它更复杂,难以理解,并且性能更差......

答案 2 :(得分:0)

以下是使用full outer join

执行此操作的方法
select distinct coalesce(a.campaign, b.campaign)
from b left outer join
     a
     on a.campaign = b.campaign;

union / union all方法是完全合理的。我只是提供这个join解决方案,你似乎在这个问题中暗指。