gpt4 book ai didi

mysql - 子查询在我的 SQL 查询中返回多于 1 行

转载 作者:行者123 更新时间:2023-11-30 22:40:30 27 4
gpt4 key购买 nike

我正在尝试创建一个 SQL 查询来显示来自不同表的一些信息。但是我收到错误 Subquery returns more than 1 row SQL。我希望它显示多行。

    SELECT  c.Name,
jn.ID,
jn.ActualWeight as GrossWt,
jn.JobNo,
COUNT(distinct jn.JobNo) as Jobs,
COUNT(distinct jd.JobID) as Dbriefs,
COUNT(distinct jn.OutTurn) as Outturns,
(select Status from jobstat where CompanyID = jn.CompanyID AND Status = "DEL") as Delivery
FROM job_new jn
LEFT JOIN customer c ON jn.CompanyID = c.Company_ID
LEFT JOIN job_debriefs jd ON jn.JobNo = jd.JobID
LEFT JOIN jobstat js ON jn.CompanyID = js.CompanyID
WHERE jn.CompanyID = 36

我试过添加 GROUP BY 和 ORDER BY,但这也不起作用。如果我删除 select State... 行,它应该显示超过一百行时它只显示一行

最佳答案

你需要一个group by:

SELECT c.Name, jn.ID, jn.ActualWeight as GrossWt, jn.JobNo,
COUNT(distinct jn.JobNo) as Jobs,
COUNT(distinct jd.JobID) as Dbriefs,
COUNT(distinct jn.OutTurn) as Outturns,
jobstat
FROM job_new jn LEFT JOIN
customer c
ON jn.CompanyID = c.Company_ID LEFT JOIN
job_debriefs jd
ON jn.JobNo = jd.JobID LEFT JOIN
jobstat js
ON jn.CompanyID = js.CompanyID
WHERE jn.CompanyID = 36
GROUP BY c.Name, jn.ID, jn.ActualWeight as GrossWt, jn.JobNo, js.status

我不确定子查询应该做什么,所以我猜测 js.status

原始查询的问题是在 SELECT 中使用了 COUNT()。这会将查询变成聚合查询。如果没有 GROUP BY,则只返回一行。在大多数其他数据库中,您通常会遇到错误。

关于mysql - 子查询在我的 SQL 查询中返回多于 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31244858/

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