Oracle DBには、newitems、itemdetails、ticketitemsテーブルとして3つのテーブルがあります。次のようないくつかのダミーデータ:
チケットアイテム:
id ticketid itemid quantity
1 100 9999 2
2 100 9998 5
3 100 2222 3
アイテムの詳細:
id description col_sumthing extra_col
9999 Marlboro val_sumthing 123_op
9998 Cigar Black val_sumthing 456_pqwe
新しいアイテム:
id description col_sumthing
2222 100Pipes val_different
最初は、itemdetails + ticketitemsからのみデータをフェッチする必要がありました。これは、単純な結合を使用すると非常に簡単でした。クエリは次のとおりです。
SELECT "TI".*, "I"."ID" AS "ITEMID", "I"."DESCRIPTION", "I"."col_sumthing"
FROM "TICKETITEMS" "TI"
INNER JOIN "ITEMDETAILS" "I" ON TI.ITEMID = I.ID
WHERE (TI.TICKET = '100')
そんな感じ。
これで、ticketitemsテーブルにいくつかのアイテムが存在する可能性のあるnewitemテーブルが導入されました。
だから私は次のような結果が欲しいです:
Final Result:
id description itemid quantity col_sumthing extra_col
1 Marlboro 9999 2 val_sumthing 123_op
2 Cigar Black 9998 5 val_sumthing 456_pqwe
3 100Pipes 2222 3 val_different
私が直面している問題は、itemdetailsに詳細が見つからない場合にのみNEWITEMSをチェックインする必要があるということです。その他の回避策も歓迎します。