gpt4 book ai didi

sql - SQL Server 中嵌套查询有结果或没有结果时如何返回 Yes 或 No?

转载 作者:行者123 更新时间:2023-12-01 21:12:34 25 4
gpt4 key购买 nike

我有一个带有嵌套查询的存储过程,用于检查主表中的“category”是否与子表中的“category”匹配。因此,要么只有一场比赛,要么没有一场比赛。

如果有匹配且子查询返回某些内容,如何返回 Yes;如果没有匹配且子查询不返回任何内容,如何返回 No?

我尝试了以下方法,该方法通常有效,但仅当存在匹配时才有效,否则不会返回任何内容。

My SQL(缩写):

SELECT      A.categoryID,
A.category,
A.[description],
(
SELECT 'Yes' AS subscribed
FROM MOC_Categories_Subscribers D
WHERE D.category = A.category
FOR XML PATH(''), ELEMENTS, TYPE
)
FROM MOC_Categories A

最佳答案

如果子查询不返回任何行,那么结果将为 NULL。因此你需要检查它。在 SQL Server 中,您可以使用函数 ISNULL 来完成此操作和 COALESCE ,这取决于您使用的版本

SELECT A.categoryID,
A.category,
A.[description],
COALESCE((SELECT TOP 1 'Yes'
FROM MOC_Categories_Subscribers D
WHERE D.category = A.category), 'No') AS Result
FROM MOC_Categories A

关于sql - SQL Server 中嵌套查询有结果或没有结果时如何返回 Yes 或 No?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com