我在Oracle數據庫三個表,的Oracle SQL加入和刪除重複的行
01. TBL_ITS_INS_CLAIM_TRANSACTIONS
╔═════════════════════════════╗
║ Id PolicyMasterID Ref_No ║
╠═════════════════════════════╣
║ 01 106 P100 ║
║ 02 106 P200 ║
╚═════════════════════════════╝
02. TBL_ITS_INS_CLAIM_SETTLEMENT
╔══════════════════════════════╗
║ Id CLAIM_TRANSACTIONS_ID ║
╠══════════════════════════════╣
║ 01 01 ║
║ 02 01 ║
║ 03 01 ║
╚══════════════════════════════╝
03. TBL_ITS_INS_CLAIM_SUBROGATION
╔════════════════════════════╗
║ Id CLAIM_TRANSACTIONS_ID ║
╠════════════════════════════╣
║ 01 01 ║
║ 02 01 ║
║ 03 01 ║
╚════════════════════════════
我曾嘗試是,我寫了下面的查詢得到的結果...但它的重複行。 我已編輯代碼:
SELECT TBL_ITS_INS_CLAIM_TRANSACTIONS.ID as "Claim Trans ID",
TBL_ITS_INS_CLAIM_SETTLEMENT.ID as "SettlementId",
TBL_ITS_INS_CLAIM_SUBROGATION.ID as "SUBROGATION ID"
FROM TBL_ITS_INS_CLAIM_TRANSACTIONS
LEFT JOIN TBL_ITS_INS_CLAIM_SUBROGATION
ON TBL_ITS_INS_CLAIM_TRANSACTIONS.ID = TBL_ITS_INS_CLAIM_SUBROGATION.CLAIM_TRANSACTIONS_ID
LEFT JOIN TBL_ITS_INS_CLAIM_SETTLEMENT
ON TBL_ITS_INS_CLAIM_TRANSACTIONS.ID = TBL_ITS_INS_CLAIM_SETTLEMENT.CLAIM_TRANSACTIONS_ID
在上面的查詢
╔══════════════════════════════════════════════════╗
║ Claim_Trans_ID SettlementId SUBROGATION _ID ║
╠══════════════════════════════════════════════════╣
║ 106 01 01 ║
║ 106 01 02 ║
║ 106 02 01 ║
║ 106 02 02 ║
║ 106 03 01 ║
║ 106 03 02 ║
╚══════════════════════════════════════════════════╝
我希望得到類似下面的結果
╔══════════════════════════════════════════════════╗
║ Claim_Trans_ID SettlementId SUBROGATION _ID ║
╠══════════════════════════════════════════════════╣
║ 106 01 01 ║
║ 106 02 02 ║
║ 106 03 ║
╚══════════════════════════════════════════════════╝
我怎樣才能得到類似結果上面
你的結果沒不符合你的查詢。爲什麼在沒有在select子句中選擇策略主標識時顯示?此外,唯一匹配的交易ID爲01.爲什麼會顯示其他人? – Utsav
您能否更好地解釋您所需結果背後的邏輯? – Aleksej
今天提示:使用表別名! (使查詢更容易編寫和閱讀。) – jarlh