簡體   English   中英

子查詢在我的SQL查詢中返回多於1行

[英]Subquery returns more than 1 row in my SQL query

我正在嘗試創建一個SQL查詢,該查詢顯示來自不同表的一些信息。 但是我收到錯誤子查詢返回多於1行的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 ,則僅返回一行。 在大多數其他數據庫中,通常會出現錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM