2017-03-19 4 views
0

이 문에 조인 (내부 또는 조인)을 사용하여 다른 테이블의 두 필드를 추가하려고합니다. 이것을 가장 잘 쓰는 방법은 무엇일까요? 나는 | 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

나에게 확인을 보이는 요청 link 원하는 결과에만 관련 테이블을 추가했습니다. 뭐가 문제 야? – GurV

+0

@ 구르 네 예, 괜찮아요.하지만 제 도전은 이것입니다. ** asset_liability_income_expenditure_tbl **라는 표가 ** ** ** ** ** ** 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;`