一意の列(sal_id、gal_id、amount、tax)を持つACTUALとESTIMATEの2つのテーブルがあります。
実際のテーブルには
actual_id, sal_id, gal_id, process_flag, amount, tax
1 111 222 N 100 1
2 110 223 N 200 2
ESTIMATEテーブルに私は持っています
estimate_id, sal_id, gal_id, process_flag, amount, tax
3 111 222 N 50 1
4 123 250 N 150 2
5 212 312 Y 10 1
ここで、ACTUALテーブルからのレコードが必要なファイナルテーブルが必要です。ACTUALにsal_id + gal_idマッピングのレコードが存在しないが、ESTIMATEには存在する場合は、見積もりレコードにデータを入力します(金額と税金を追加します)。
FINALテーブル
id sal_id, gal_id, actual_id, estimate_id, total
1 111 222 1 null 101 (since record exist in actual table for 111 222)
2 110 223 2 null 202 (since record exist in actual table for 110 223)
3 123 250 null 4 51 (since record not exist in actual table but estimate exist for 123 250)
(見積もりの212 312の組み合わせの場合、レコードはすでに処理されているため、再度処理する必要はありません)。
Oracle11gを使用しています。単一のSQLクエリでロジックを作成するのを手伝ってください。