select supplier.suppl_no, name, count(art_no) TotalArticles
from article, supplier
where article.suppl_no = supplier.suppl_no and supplier.suppl_no = 20009
group by supplier.suppl_no, name;
結果:TotalArticles = 51
腳本2
select supplier.suppl_no, name, count(ord_no) TotalOrders
from orders, supplier
where orders.suppl_no = supplier.suppl_no and supplier.suppl_no = 20009
group by supplier.suppl_no, name;
結果:TotalOrders = 74
現在,我想將以上兩個腳本合併爲一個,如下所示。
腳本3
select article.suppl_no, name, count(art_no) "TotalArticles", count(ord_no) "TotalOrders"
from article, supplier, orders
where article.suppl_no = supplier.suppl_no and supplier.suppl_no = orders.suppl_no and supplier.suppl_no = 20009
group by article.suppl_no, name
結果:TotalArticles = 3774(預期51如在第一腳本)
結果:TotalOrders = 3774(預期74如在第二腳本)
所以,在這裏用於TotalArticles和TotalOrders,它給了我結果51 * 74 = 3774.請你幫我弄清楚我在腳本3中犯了什麼錯誤?非常感謝。
https://stackoverflow.com/編輯幫助(標記代碼並單擊'{}'。在需要的地方添加換行符。) – jarlh
請發佈一些示例數據和所需結果。在這裏,你找到一些有用的建立[mcve] – Aleksej
嘗試'count(distinct art_no)'並且看看會發生什麼。 (或保留原始查詢。) – jarlh