我需要結合5桌:SQL查詢來加入與和函數的多個表
history - (contract_no, run_date, dataset_code)
premium - (contract_no, trx_amt)
contract - (contract_no, status, owner_idn)
confund - (contract_no, blg_method, blg_status)
client - (client_idn, client_ssn)
最後,我要的結果顯示是這樣的:沒有
合同| Run_Date | DataSet_Code |狀態| Blg_Method | Blg_Status | Suspense_Total
我最大的問題是讓SUM函數工作。特級表中的trx_amt是我得到我的懸念總數的地方。合約可以有多行。此外,在該表中,trx_amt可以來自contract_no或client_ssn。
SELECT history_contract_no,
history_run_date,
history_dataset_code,
contract_status,
confund_blg_method,
confund_blg_status,
SUM(premium_trx_amt)
FROM HISTORY LEFT JOIN PREMIUM
ON history_contract_no = premium_contract_no JOIN CONFUND
ON history_contract_no = confund_contract_no JOIN CONTRACT
ON confund_contract_no = contract_contract_no
WHERE history_dataset_code in ('CONTINU1', 'CONTINU2')
AND history_run_date between 20140118 and 20140124
GROUP BY history_contract_no
沒有上面的SUM函數,我可以關閉,但如果合同有多個懸念項,我會得到多行。我無法弄清楚如何在結果中總結這些行。我甚至無法弄清楚如何引入第五個表格「client」,這樣我就可以總結出位於client_ssn而不是contract_no下的懸念條目。 premium字段中的contract_no是SSN或contract_no。我真的很想做更復雜的查詢,所以如果你知道一個好的資源或教程,請讓我知道。
謝謝!
您的GROUP BY條款在哪裏? – Barmar
你在兩個連接中有什麼'history_field'? – Barmar
如果你需要加入兩個不同的表格併合並結果,你應該使用UNION – Barmar