将数据从一个表插入另一个表通常很简单:
SELECT * INTO A FROM B
但出于好奇,假设我有两张表tbl_A
和tbl_B
。我在tbl_B
中有100条记录,在tbl_A
中有20条记录(其中一些可能在两个表中都很常见),我想将tbl_B
中的行插入到tbl_A
中tbl_A'
另外,假设两个表都有标识字段。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用NOT EXISTS
:
INSERT INTO tbl_A
SELECT IdCol, Col2, Col3
FROM dbo.tbl_B B
WHERE NOT EXISTS(SELECT 1 FROM tbl_A A2 WHERE A2.IdCol = B.IdCol)
答案 2 :(得分:0)
我认为这应该有效。
INSERT INTO tbl_A (IdCol, Col2, Col3)
(SELECT IdCol, Col2, Col3 FROM dbo.tbl_B AS b
WHERE b.IdCol NOT IN (SELECT Distinct IdCol FROM tbl_A))