我有2个相似但不相同的表,因此联合不可能。我需要结合表格,记住大约有40列,其中只有20列是共同的。关于最佳方法的任何想法?
Table1
ActivityCategory ActivityType Nationality Language
---------------------------------------------------------
Communication Telephone French French
Meeting Session British English
Table2
ActivityCategory ActivityType Nationality Employment
-----------------------------------------------------------
Communication Fax American Employed
Combined Table
ActivityCategory ActivityType Nationality Language Employment
----------------------------------------------------------------------
Communication Telephone French French
Meeting Session British English
Communication Fax American Employed
答案 0 :(得分:5)
做一个UNION,但首先你必须使表格结构相同。
在SELECT for Table1中,将Employment作为NULL值列添加
在SELECT for Table2中,将Language添加为NULL值列
SELECT ActivityCategory, ActivityType, Nationality, Language, NULL AS Employment
FROM Table1
UNION
SELECT ActivityCategory, ActivityType, Nationality, NULL AS Language, Employment
FROM Table1
答案 1 :(得分:1)
联合什么可以结合,然后加入其余的列?
如果您只需要一次这样做,那很可能。我想即使有了观点也可以这样做。
答案 2 :(得分:1)
Raj的建议很好,但你可能想要一个UNION ALL而不是UNION。
来自BOL,
UNION ALL将所有行合并到结果中。这包括重复。如果未指定,则删除重复的行。
使用UNION支付价格以保证没有重复,但在您的情况下,听起来你不会有重复。