if not exists(SELECT 1 FROM MYTABLE1 WHERE ID=@ID)
BEGIN
END
我想在MYTABLE2中检查这个ID值。我应该怎么写IF条件?我想检查两个表中的任何一个都不存在某个ID。
答案 0 :(得分:3)
您可以使用UNION ALL
:
IF NOT EXISTS (SELECT 1 FROM
(SELECT ID FROM MyTable1
UNION ALL
SELECT ID FROM MyTable2) Table
WHERE ID = @ID)
BEGIN
...
END
答案 1 :(得分:3)
您可以执行以下操作:
if (not exists(SELECT 1 FROM MYTABLE1 WHERE ID=@ID))
AND (not exists(SELECT 1 FROM MYTABLE2 WHERE ID=@ID))
BEGIN
END
答案 2 :(得分:0)
取决于你想要的东西 -
如果要检查其中一个表中是否存在该ID,请使用UNION ALL。你可以使用JNK的答案。
如果要检查两个表中是否存在ID,请使用INNER JOIN。
如果不存在 (从table1中选择top 1作为内连接 表2 b在a.ID = b.ID上,其中a.ID = @ID) 开始 END
希望这会有所帮助。
答案 3 :(得分:-1)
SELECT
blah.ID
FROM
MYTABLE1 as blah
WHERE
blah.ID IN (some range of ints)
如果没有结果,那么你知道它不存在