将两个表合并为一个

时间:2010-07-14 19:23:13

标签: sql-server-2008

我想将两个表连接到一个包含一个公共列的表中,我需要尝试避免所有重复项。

4 个答案:

答案 0 :(得分:2)

看看这个(SQL Server 2008中的新内容):MERGE (Transact-SQL)

  

执行插入,更新或删除   基于的目标表上的操作   与源连接的结果   表。例如,你可以   通过插入同步两个表,   更新或删除一行中的行   根据发现的差异表   另一张桌子。

答案 1 :(得分:0)

也许您需要SELECT DISTINCTLEFT JOIN

答案 2 :(得分:0)

你可以做一个UNION并插入新表(注意你必须先创建表)

INSERT INTO NewTable

SELECT Column1
FROM FistTable

UNION 

SELECT Column2
FROM SecondTable

答案 3 :(得分:0)

希望这会有所帮助

MERGE <target_table> [AS TARGET]
USING <table_source> [AS SOURCE]
ON <search_condition>
[WHEN MATCHED 
THEN <merge_matched> ]
[WHEN NOT MATCHED [BY TARGET]
THEN <merge_not_matched> ]
[WHEN NOT MATCHED BY SOURCE
THEN <merge_ matched> ];