gpt4 book ai didi

sql - 子查询返回超过 1 个值

转载 作者:行者123 更新时间:2023-12-01 19:47:48 24 4
gpt4 key购买 nike

我需要选择状态为 1 的个人联系人。

问题是单个联系人可以有多个基于 4 个不同列的同时状态。

事件状态取代非事件状态。如果联系人同时具有事件和非事件状态,则应默认为事件。

到目前为止,我的子查询独立运行良好,但当单个联系人在不同列中同时具有 2 个或更多状态时,它们会返回超过 1 个值。

关于如何返回具有 1 个状态的单个联系人有什么想法吗?

SELECT Contact,
((SELECT 'Active'
FROM MyTable
WHERE Column1 = 1
OR Column2 = 1)
UNION
(SELECT 'Inactive'
FROM MyTable
WHERE Column3 = 1
OR Column4 = 1)) AS MyStatus
FROM MyTable

最佳答案

您是否考虑过使用 CASE相反?

SELECT
Contact,
MyStatus = CASE
WHEN Column1 = 1 OR Column2 = 1 THEN 'Active'
WHEN Column3 = 1 OR Column4 = 1 THEN 'Inactive'
END
FROM
MyTable

关于sql - 子查询返回超过 1 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7178555/

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