[英]how to add two query results as a single result in sql?
我需要將兩個查詢輸出添加為單個結果。
第一個查詢輸出來自“ InvoiceDetail”表:
InvoiceID, POSCode, CQuantity, CPrice, TCost, AmountPaid
19327 07310000504 1 22.38 22.38 368.59
19326 07161030192 1 28.90 28.90 5402.69
19326 07013711044 2 12.53 25.06 5402.69
19327 07310000622 2 6.28 12.56 368.59
19326 07013721043 1 25.07 25.07 5402.69
19327 07310000626 2 6.28 12.56 368.59
19327 01230050268 2 37.15 74.30 368.59
19326 04210000910 2 9.84 19.68 5402.69
19327 01230050271 1 37.15 37.15 368.59
我的第二個查詢輸出是來自“ InvoiceCharge”表:
InvoiceID totalCharge
19326 9.00
19326 6.00
最后我想要輸出像:
發票ID,POSCode,CQuantity,CPrice,TCost,已付金額,總費用
19327 07310000504 1 22.38 22.38 368.59 0.00
19326 07161030192 1 28.90 28.90 5402.69 15.00
19326 07013711044 2 12.53 25.06 5402.69 15.00
19327 07310000622 2 6.28 12.56 368.59 0.00
19326 07013721043 1 25.07 25.07 5402.69 15.00
19327 07310000626 2 6.28 12.56 368.59 0.00
19327 01230050268 2 37.15 74.30 368.59 0.00
19326 04210000910 2 9.84 19.68 5402.69 15.00
19327 01230050271 1 37.15 37.15 368.59 0.00
這就是我需要的..
這里的InvoiceID 19326的費用為(9.00 + 6.00)= 15.00,InvoiceID 19327的費用為免費,因此在InvoiceCharge表中找不到行。
請在下面查詢
select
InvoiceID,
POSCode,
CQuantity,
CPrice,
TCost,
AmountPaid,
(SELECT sum(totalCharge) FROM InvoiceCharge IC WHERE IC.InvoiceID = ID.InvoiceID) AS totalCharge
from InvoiceDetail ID
嘗試這個:
select InvoiceID,
POSCode,
CQuantity,
CPrice,
TCost,
AmountPaid,
(case when a.charge is null then 0 else a.charge end)) as totalCharge
from InvoiceDetail left join (SELECT sum(totalCharge) as charge , InvoiceCharge.InvoiceID FROM InvoiceCharge group by InvoiceCharge.InvoiceID) a on InvoiceCharge.InvoiceID = InvoiceDetail.InvoiceID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.