2017-03-19 5 views
0

この文にjoin(innerまたはjoin)を使って別のテーブルから2つのフィールドを追加しようとしています。どのように私はこれを書くことができますか? 要求link望ましい結果 | a_l_code | dr_cr_code_inc | |----------|-------------------| | FA | DR |このmysql文を書き直します

select B.joint_account_numbers, 
    B.account_title, 
    SUM(case when A.dr_cr_action = 'CR' then A.amount * - 1 else A.amount end) as net_reduction 
from (
    select A.joint_account_number, 
     A.dr_cr_action, 
     A.amount 
    from mainaccount_a_2017 A 

    union all 

    select B.joint_account_number, 
     B.dr_cr_action, 
     B.amount 
    from mainaccount_b_2017 B 
    ) as A 
inner join chart_of_account B on A.joint_account_number = B.joint_account_numbers 
group by B.joint_account_numbers; 
+0

は私にOK見えるように私は唯一の関連テーブルを追加しました。どうしたの? – GurV

+0

@GurVはい、これはOkですが、私の挑戦はこれです。私は** asset_liability_income_expenditure_tbl **というテーブルを持っています。これらのフィールドは** a_l_code **と** dr_cr_code_inc **です。これをステートメントにどのように追加しますか? –

+0

それをどこに追加しますか?これらのテーブルとの関係は何ですか?私はいくつかのサンプルデータと、あなたが結果に望むものを説明する期待される出力を提供することをお勧めします。 – GurV

答えて

0
Figured it out!  

    select B.joint_account_numbers, 
    B.account_title, C.a_l_code, C.dr_cr_code_inc, 
    SUM(case when A.dr_cr_action = 'CR' then A.amount * - 1 else A.amount end) as net_reduction 
    from (
    select A.joint_account_number, 
     A.dr_cr_action, 
     A.amount 
    from mainaccount_a_2017 A 

    union all 

    select B.joint_account_number, 
     B.dr_cr_action, 
     B.amount 
    from mainaccount_b_2017 B 
    ) as A 
    inner join chart_of_account B on A.joint_account_number = B.joint_account_numbers 
    inner join asset_liability_income_expenditure_tbl C on B.account_type = C.a_l_code 
    group by B.joint_account_numbers;`