2

我需要一个 Oracle 查询。
我有 2 张桌子

第一张表——收据表

Receipt no  Amount Paid  Policy No  
1            100          101  
2            100          101  
3            100          101 

第二张表——检查表

Policy no Check No Check Amt  
101       1         150  
101       2         150 

我需要从 2 张桌子上获得像这样的输出

Policy No Receipt no Receipt Amount Check No Check Amount  
101        1         100            1         150  
101        2         100            2         150  
101        3         100  

反过来的情况也是可能的。
我可以为同一保单开 2 张收据和多张支票
请指教。

4

2 回答 2

1

听起来您正在寻找一个OUTER JOIN-- 假设您正在加入收据和支票号码字段:

SELECT R.PolicyNo, R.ReceiptNo, R.Amount, C.CheckNo, C.CheckAmt
FROM Receipt R
   LEFT JOIN Checks C ON R.ReceiptNo = C.CheckNo 

也许您还打算加入您的 PolicyNo 字段 - 如果是这样,只需将其包含在JOIN

   LEFT JOIN Checks C ON R.ReceiptNo = C.CheckNo AND R.PolicyNo = C.PolicyNo
于 2013-07-19T04:31:31.813 回答
0

请试试这个。

SELECT * FROM Receipt table 
FULL OUTER JOIN Checks Table
ON Receipt table  = Checks Table
于 2013-07-19T05:10:16.560 回答