SELECT *
FROM a
WHERE a.pk NOT IN (SELECT a.pk
FROM a, b
WHERE a.a1 = b.b1
AND a.a2 = b.b2
AND a.a3 = b.b3)a.pk代表你A表的主键.如何??
FROM a
WHERE a.pk NOT IN (SELECT a.pk
FROM a, b
WHERE a.a1 = b.b1
AND a.a2 = b.b2
AND a.a3 = b.b3)a.pk代表你A表的主键.如何??
调试欢乐多
谢谢你的回复。
现在还有这么个问题
由于b1,b2,b3 都可能被修改
就可能出现以下的情况
表A 修改后的表B
a1 a2 a3 b1 b2 b3
aaa aaa aaa aaa aaa aaa
bbb bbb bbb aaa aaa aaa
ccc ccc ccc ccc ccc ccc
也就是说可能存在相同的行。
这个要怎么判断呢?
minus
select * from a
FROM a
WHERE a.pk NOT IN (SELECT a.pk
FROM a, b
WHERE a.a1 = b.b1
AND a.a2 = b.b2
AND a.a3 = b.b3 and a.pk=b.pk)
由于你的是b是全部由a导入的.正常情况下主键也应该相同.所以把主键也加上去比不就行了嘛??如果
主键可能不相同那就没办法了.
或许你可以在A里加个字段.这个字段里装的是该记录在b中的主键值.
然后再比一下也可