我有一个存储过程,可以将记录从一个表移动(或应该)到另一个表。不过,我现在想创建一个过程,根据“TableB”中的数据检查“TableA”中的数据
SELECT A.Num, B.Num
FROM TableA AS A
LEFT JOIN TableB AS B ON A.Num = B.Num
WHERE B.Num IS NULL
基本上,我想提取不在“TableB”中但在“TableA”中的任何数字,LEFT JOIN 是执行此操作的方法吗?到目前为止,我未能成功找到丢失的文件,并且我删除了一些文件以形成测试用例。
您可以使用not exists http://msdn.microsoft.com/en-us/library/ms184297%28v=sql.105%29.aspx
SELECT *
FROM TableA A
WHERE NOT EXISTS (SELECT *
FROM TableB B
WHERE A.NUM = B.NUM);
or not in http://msdn.microsoft.com/en-us/library/ms177682.aspx:
SELECT *
FROM TableA A
WHERE A.NUM not in (SELECT B.NUM
FROM TableB B);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)