簡體   English   中英

從不同的表中減去兩列並按

[英]subtract two column from different table and group by

經過一周的搜索,我無法寫出此查詢,請幫助我。 我有3張桌子購買出售東西 我想第一總和purchase.quantity selles.quantity字段分開,然后減去這兩個柱purchase.quantity selles.quantity然后GROUP BY purchase.scale,stuff.name

在此處輸入圖片說明


在此處輸入圖片說明


在此處輸入圖片說明


我有這三張桌子

table purchase:
   'id', 'invoice_id', 'stuff_id', 'quantity', 'scale', 'price'
table selles:
   'id', 'selles_invoice_num', 'stuff_id', 'quantity', 'scale', 'price'
table stuff:
   'id', 'name'

我有此查詢,但結果(數量)錯誤

SELECT sum(purchase.quantity) - sum(selles.quantity) as quantities, 
       purchase.scale, 
       stuff.name , 
       stuff.id 
FROM purchase, 
     selles, 
     stuff 
where purchase.stuff_id = selles.stuff_id 
and purchase.scale = selles.scale 
and purchase.stuff_id = stuff.id 
group by purchase.scale, 
         stuff.name 
ORDER BY stuff.name , 
         purchase.scale

在此處輸入圖片說明

嘗試內部聯接

        SELECT sum(pur.psum) - sum(sca.ssum) as quantities, p.scale, st.name , st.id FROM
 stuff st INNER JOIN  
    (SELECT sum(p.quantity) as psum,p.scale,p.stuff_id  FROM purchase p GROUP BY p.scale,p.stuff_id) pur 
on pur.stuff_id = st.id  INNER JOIN 
    (SELECT sum(s.quantity) as ssum,s.scale,s.stuff_id  FROM scale s GROUP BY s.scale,s.stuff_id) sca
 on sca.scale=pur.scale and sca.stuff_id=pur.stuff_id  group by pur.scale, st.name ORDER BY st.name , pur.scale;

暫無
暫無

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

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