0

与えられたローンIDについて、そのローンIDがすでにテーブル1に存在するが、テーブル2には存在しない場合、そのローンIDに属するすべてのアイテム名を選択したい、そうでなければ、そのローンIDが両方のテーブル(テーブル1とテーブル2)に存在し、その場合はbalanceDue> 0も必要select itemnames はそのローン ID に属します。

表1:

loanID, itemId, itemName, itemQty, balanceQty

表 2:

loanID, itemId, GRN, itemName, balanceDue, qty

サンプルデータ

ケース1

表1

loanID  itemId     itemName    
LN1     IT1        Item001        
LN1     IT2        Item002        
LN1     IT3        Item003        
LN2     IT1        Item001        
LN2     IT2        Item002        
LN2     IT3        Item003        
LN3     IT1        Item001        
LN3     IT2        Item002        
LN3     IT3        Item003        

表 2

loanID  itemId  itemName  balanceDue
LN1     IT1     Item001   0
LN1     IT2     Item002   0
LN1     IT3     Item003   0
LN2     IT1     Item001   0
LN2     IT2     Item002   0
LN2     IT3     Item003   1000

LN3 を LoanID として選択した場合、LN3 は表 2 にないため、LN3 に属するすべてのアイテム名を取得する必要があります。LN3 の結果は

item001, item002, item003

ケース 2

LN3 がテーブル 2 に存在するときに LoanID として LN3 を選択した場合、LN3 に属しているアイテムの balanceDue>0 の場合、それらのアイテム名は農産物でなければなりません。

LN3 の結果は

item001, item003

LoanID として LN2 を選択した場合、LN2 の結果は次のようになります。

item001

表1

loanID  itemId  itemName    
LN1 IT1 Item001        
LN1 IT2 Item002        
LN1 IT3 Item003        
LN2 IT1 Item001        
LN2 IT2 Item002        
LN2 IT3 Item003        
LN3 IT1 Item001        
LN3 IT2 Item002        
LN3 IT3 Item003        

表 2

loanID  itemId  itemName    balanceDue
LN1 IT1 Item001        0
LN1 IT2 Item002        0
LN1 IT3 Item003        0
LN2 IT1 Item001        300
LN2 IT2 Item002        0
LN2 IT3 Item003        1000
LN3 IT1 Item001        500
LN3 IT2 Item002        0
LN3 IT3 Item003        0    
4

3 に答える 3