gpt4 book ai didi

database - 多个值的结果子查询 - SQL

转载 作者:行者123 更新时间:2023-11-29 14:24:50 25 4
gpt4 key购买 nike

当我向 QUERY 添加多个客户名称时,我从 SUBQUERY 得到反馈,但如果您只输入一个值,即使使用 IN 条件,QUERY 完美运行

查询失败

SELECT "CUSTOMER",
( ( ( ( CAST(COUNT(*) AS FLOAT) ) - (
SELECT
(CAST(COUNT(*) AS FLOAT))
FROM
public.tbl_metrics
WHERE
"CUSTOMER" IN (
'CLIENT1','CLIENT2','CLIENT3'
)
AND "STATUS" = 'NOT_TESTED'
GROUP BY
"STATUS",
"CUSTOMER"
) ) / CAST(COUNT(*) AS INT) ) * 100) as "PERCENT", count("STATUS") as "OK"
FROM
public.tbl_metrics
WHERE
"CUSTOMER" IN (
'CLIENT1','CLIENT2','CLIENT3'
)
AND "STATUS" = 'NOK'
GROUP BY
"STATUS",
"CUSTOMER"

查询成功

SELECT "CUSTOMER",
( ( ( ( CAST(COUNT(*) AS FLOAT) ) - (
SELECT
(CAST(COUNT(*) AS FLOAT))
FROM
public.tbl_metrics
WHERE
"CUSTOMER" IN (
'CLIENT1'
)
AND "STATUS" = 'NOT_TESTED'
GROUP BY
"STATUS",
"CUSTOMER"
) ) / CAST(COUNT(*) AS INT) ) * 100) as "PERCENT", count("STATUS") as "OK"
FROM
public.tbl_metrics
WHERE
"CUSTOMER" IN (
'CLIENT1'
)
AND "STATUS" = 'NOK'
GROUP BY
"STATUS",
"CUSTOMER"

最佳答案

不太清楚“获得反馈”是什么意思?我猜你的子查询返回多行(因为内部查询分组多个客户 = 多个结果)。

我建议从一个更简单的版本开始,让它运行起来,然后添加额外的计算(即百分比)。这是一个粗略的入门查询(不保证这会起作用,因为我无权访问您的表并且我猜测这是您希望完成的)。

SELECT met."CUSTOMER",
( SELECT COUNT(*)
FROM
public.tbl_metrics innerMet
WHERE
innerMet."CUSTOMER"= met."CUSTOMER"
AND "STATUS" = 'NOT_TESTED'
) as "NOT_TESTED", count("STATUS") as "OK"
FROM
public.tbl_metrics met
WHERE
met."CUSTOMER" IN (
'CLIENT1','CLIENT2','CLIENT3'
)
AND met."STATUS" = 'NOK'
GROUP BY
met."STATUS",
met."CUSTOMER"

关于database - 多个值的结果子查询 - SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59039116/

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