我需要拿出一份報告,看起來是這樣的:我需要幫助創建一個SQL查詢
有3代表代理,銷售和支付。銷售和付款通過代理錶鏈接。該報告將顯示每位代理人每天的每日總銷售額。它還需要顯示代理商每天支付的任何款項,這些款項將從總銷售餘額中扣除,以便我們可以知道代理商是否欠款,反之亦然。
我的計劃來解決這個問題的方法是:
- 獲取每個代理每天所有銷售(一個查詢)
- 獲取每人每天代理的所有款項(一個查詢)
- 每個銷售,代理人和每天檢查(代理商每天每位代理商的付款)(循環)
- 如果找到匹配項,可以用累計總計得到價值和用於計算
- 否則,只顯示適當的銷售數據僅與累計總數。
我不確定是否有查詢可以讓我的生活變得更輕鬆。謝謝。
[編輯]
代理表: ID, 名, opening_balance
銷售表: ID, AGENT_ID, 量, CUSTOMER_ID, SALE_DATE
付款表: ID, AGENT_ID, 量, bank_id, PAYMENT_DATE, 狀態
[第二編輯]
由於奧拉夫Dietsche。沒有子選擇的第二個查詢需要很長時間才能運行。約88秒。我也嘗試了第一次使用子選擇,並且它在閃存中完成,但是sum(s.amount)和sum(p.amount)保持值應該是它們的兩倍。
[第三屆編輯]
代理可以使多個銷售和 代理可以進行多次支付
有銷售和支付
這些都是通過「代理」連接的,如果您提供表格詳細信息(列名稱),我可以幫助您編寫單個查詢以加入這些查詢。 – NappingRabbit
請張貼表格的結構。你需要的是具有聚合函數的「JOIN」和「GROUP BY」,那麼這將是累計總數的問題。 –
你可以發佈有關代理表的更多詳細信息嗎? – DrinkJavaCodeJava