如何检查多个表中的 ID 值

本文关键字:ID 何检查 检查 | 更新日期: 2023-09-27 18:10:01

if not exists(SELECT 1 FROM MYTABLE1 WHERE ID=@ID)
BEGIN
END

我也想在MYTABLE2中检查此 ID 值。.我应该如何编写 IF 条件?我想检查两个表中是否存在某个 ID。

如何检查多个表中的 ID 值

您可以使用

UNION ALL

IF NOT EXISTS (SELECT 1 FROM
                        (SELECT ID FROM MyTable1
                         UNION ALL
                         SELECT ID FROM MyTable2) Table
               WHERE ID = @ID)
BEGIN
...
END

您可以执行以下操作:

if (not exists(SELECT 1 FROM MYTABLE1 WHERE ID=@ID)) 
     AND (not exists(SELECT 1 FROM MYTABLE2 WHERE ID=@ID))
BEGIN
END

取决于你想要什么 -

如果要检查 ID 是否存在于任一表中,请使用 UNION ALL。 你可以使用 JNK 的答案。

如果要检查两个表中是否存在 ID,请使用内部连接。

如果不存在 (从表 1 中选择前 1 个内部连接 表2 b on a.ID = b.ID 其中 a.ID = @ID(开始结束

希望这有帮助。

SELECT
    blah.ID
FROM
    MYTABLE1 as blah
WHERE
    blah.ID IN (some range of ints)

如果你没有得到任何结果,那么你就知道它不存在