2016-05-05 16 views
1

私は以下のテーブル構造を持っています。Oracle SQL - マスタと子のデータの取得

マスタ - 子表:

Master_Job_Id Child_Job_Id 
M1     C1 
M1     C2 

量テーブル(このテーブルには、子どもとマスタジョブIDの詳細が含まれています):

Job_Id  Rate_Id   Amount 
M1    R1   50 
C1    R1   10 
C2    R2   25 

レート表

Rate_Id  Lang_Id 
R1    L1 
R2    L2 

ここでM1ジョブIDには、チャイルドC1とC2の2つがあります。

Job_Id  Lang_Id   Amount 
M1    L1    60(Since M1 has two L1 values - that of M1 and C1, the amounts are added so 60 should come) 
M1    L2    25(Here M1 has only one L2 value so the total amount value is 25) 

私は以下のデータを提供するクエリをフレームしたいと思います。これは動作するはず

答えて

1

よろしく、:

SELECT t.master_job_id,r.Lang_Id,sum(a.amount) 
FROM Master_Child t 
INNER JOIN amount a 
ON(a.job_id in(t.master_job_id,t.child_job_id)) 
INNER JOIN Rate r 
ON(a.rate_id = r.rate_id) 
GROUP BY t.master_job_id,r.lang_id 
+0

(a.rate_id = a.rate_id)ONにON変更した後(a.rate_id = r.rate_id)そのが正しく動作。ありがとうございますMr.Florin – Deepan

+0

ああ、うん、打者...いいえ問題は:) – sagi

関連する問題