2011-03-02 118 views

回答

3
INSERT INTO TableB 
    (Col1, Col2, ...) 
    SELECT DISTINCT Col1, Col2, ... 
     FROM TableA 
+1

是的。这是要使用的查询。不是TheJubilex的。 – Nav 2016-11-22 12:16:42

3

如果DISTINCT你的意思是唯一的记录是上表B,尚未在表A,然后执行以下操作:

INSERT INTO TableB(Col1, Col2, Col3, ... , Coln) 
SELECT DISTINCT A.Col1, A.Col2, A.Col3, ... , A.Coln 
FROM TableA A 
LEFT JOIN TableB B 
ON A.KeyOfTableA = B.KeyOfTableB 
WHERE B.KeyOfTableB IS NULL 
1
INSERT INTO TableB 
      SELECT * 
      FROM TableA AS A 
      WHERE NOT EXISTS(SELECT * FROM TableB AS B WHERE B.Field1 = A.Field1) 
-- If need: B.Field2 = A.Field2 and B.Field3 = A.Field3 
相关问题