gpt4 book ai didi

SQL 条件案例

转载 作者:行者123 更新时间:2023-12-02 16:14:50 25 4
gpt4 key购买 nike

我有一个表格,其中列出了项目以及这些项目的状态。问题是某些项目有多个不同的状态条目。例如。

HOST          Status
1.1.1.1 PASS
1.1.1.1 FAIL
1.2.2.2 FAIL
1.2.3.3 PASS
1.4.2.1 FAIL
1.4.2.1 FAIL
1.1.4.4 NULL

我需要为每项 Assets 返回一个状态。

HOST          Status
1.1.1.1 PASS
1.2.2.2 FAIL
1.2.3.3 PASS
1.4.2.1 FAIL
1.1.4.4 No Results

我一直在尝试使用 T-SQL Case 语句来做到这一点,但不太正确。条件是任何通过+任何内容都是通过,失败+无结果是失败,空是无结果。

最佳答案

尝试使用 case 语句转换为有序结果并对其进行分组,最后,您需要转换回漂亮的、人类可读的答案:

with cte1 as (
SELECT HOST,
[statNum] = case
when Status like 'PASS' then 2
when Status like 'FAIL' then 1
else 0
end
FROM table
)
SELECT HOST, case max(statNum) when 2 then 'PASS' when 1 then 'FAIL' else 'No Results' end
FROM cte1
GROUP BY HOST

注意:我使用 CTE 语句希望让事情变得更清晰一些,但一切都可以在单个 SELECT 中完成,如下所示:

SELECT HOST,
[Status] = case max(case when Status like 'PASS' then 2 when Status like 'FAIL' then 1 else 0 end)
when 2 then 'PASS'
when 1 then 'FAIL'
else 'No Result'
end
FROM table

关于SQL 条件案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959092/

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