私は3つのテーブルに参加する必要があります。つまり、テーブルの請求書、アイテム、支払いです。テーブル項目と支払いは、請求書 IDに基づいてテーブル請求書に結合されます
ここで、請求書の日付までに、売上高、費用後の売上高、および支払いの合計を取得する必要があります。
これが私のクエリです
SELECT SUM((I.price * qty) - (I.price * qty * discount)) as totalSales,SUM((I.price * qty) - (I.price * qty * discount)-costItem) as salesAfterCost, SUM(PAY.amount) as paymentReceived
FROM tbl_inv B LEFT JOIN tbl_item I ON B.id = I.id_invoice
LEFT JOIN tbl_payment PAY ON B.id = PAY.id_invoice
WHERE B.dateInv = '2013-04-01'
GROUP BY B.id,b.dateInv;
そして、結果はこのように返されます
totalSales salesAfterCost paymentReceived
75.540000 67.540000 622.8000
しかし、このクエリで合計支払いを確認すると、異なる値が返されます。
SELECT SUM(PAY.amount) paymentReceived
FROM tbl_inv B LEFT JOIN tbl_payment PAY ON B.id = PAY.id_invoice
WHERE B.dateInv = '2013-04-01';
結果 :
paymentReceived
155.7000
販売のクエリ
SELECT SUM((I.price * qty) - (I.price * qty * discount)) as totalSales,SUM((I.price * qty) - (I.price * qty * discount)-costItem) as salesAfterCost
FROM tbl_inv B LEFT JOIN tbl_item I ON B.id = I.id_invoice
WHERE B.dateInv = '2013-04-01';
結果 :
totalSales salesAfterCost
37.770000 33.770000
どうすればこの問題を解決できますか?