对比A,B两张表,将相同的记录写到M表,不同的记录全部写到N表中
-- 相同记录
INSERT M SELECT A.*
FROM A表 A
WHERE EXISTS(
SELECT * FROM B表
WHERE A.ID = ID
AND A.NAME = NAME)
-- 不相同记录
INSERT N
SELECT A.*
FROM A表 A
WHERE NOT EXISTS(
SELECT * FROM B表
WHERE A.ID = ID
AND A.NAME = NAME)
UNION ALL
SELECT A.*
FROM B表 A
WHERE NOT EXISTS(
SELECT * FROM A表
WHERE A.ID = ID
AND A.NAME = NAME)
INSERT M SELECT A.*
FROM A表 A
WHERE EXISTS(
SELECT * FROM B表
WHERE A.ID = ID
AND A.NAME = NAME)
-- 不相同记录
INSERT N
SELECT A.*
FROM A表 A
WHERE NOT EXISTS(
SELECT * FROM B表
WHERE A.ID = ID
AND A.NAME = NAME)
UNION ALL
SELECT A.*
FROM B表 A
WHERE NOT EXISTS(
SELECT * FROM A表
WHERE A.ID = ID
AND A.NAME = NAME)

浙公网安备 33010602011771号