将 SQL 查询从 Count(*) 更新为 SQL 服务器中的 EXISTS

Updating the SQL query from Count(*) to EXISTS in SQL Server

我有以下 SQL 查询,

CASE 
    WHEN (SELECT COUNT(*) 
        FROM MyTable AS Parameter
                    INNER JOIN Table ON Parameter.Attribute1 = Table.Attribute2
                    WHERE FD.DefID= Parameter.DefID AND Parameter.VTypeID = 1) = 0
    THEN (
SELECT * from Table2)
ELSE
    NULL
END AS Items

基本上,我想确保仅当查询结果计数为0时才执行条件。 我应该如何修改它以使用 EXISTS/NOT EXISTS 关键字?

您可以像这样使用 exists 来做到这一点:

SELECT * from Table2
WHERE NOT EXISTS(
    SELECT 1
    FROM MyTable AS Parameter
    INNER JOIN Table ON Parameter.Attribute1 = Table.Attribute2
    WHERE FD.DefID= Parameter.DefID AND Parameter.VTypeID = 1)