将 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)
我有以下 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)