2014-01-29 59 views
0

我是SQL Server新手,请帮助我解决以下问题。从SQL Server中的两个表获取唯一结果集

我有具有以下列两个表:

  • Table-A只与像数据中的一个柱(A, B, C, D
  • Table-B是一个临时表,该表可包含(B, B, C, C, E, E, F, G

我需要将表B的内容插入到表A中。

条件是

  1. 如果表A已经包含B中的任何字母,那么该字母应该被忽略。
  2. 只需要在表A中插入一个唯一的字母表。即,如果还需要插入F和G,则只能从两组E中插入一个E和

我该如何解决这个问题?

请多关照....

+1

请添加示例数据和结果,以说明您的条件应该如何运作。 –

回答

2

试试这个....

INSERT INTO Table (Column) 
SELECT DISTINCT tt.Column 
FROM TempTab tt 
WHERE tt.Column NOT IN (SELECT DISTINCT Column FROM Table) 

这里是SQL FIDDLE与此查询。

1
INSERT INTO A(col) 
(SELECT distinct col from B 
    minus 
    (SELECT distinct col FROM A INTERSECT SELECT distinct col FROM B))