0
세 개의 테이블을 생성하는 SQL 문을 작성해야합니다. 하나의 SQL 문이 세 개의 테이블을 생성합니다.
나는 내가 세 개의 테이블을 생성 할 수 있습니다 개별적으로 실행하는 경우 개별 SQL 코드가 있습니다 표 1select t.TRADE_ID, t.TRADE_VERSION, t.TRADE_SOURCE_SYSTEM, tl.LINK_PARENT_ID,
tl.LINK_PARENT_VERSION, tc.CHARGE_AMOUNT, tc.CHARGE_SCOPE FROM EQ_MO_TRADE (NOLOCK) t, EQ_MO_TRADE_CHARGE (NOLOCK) tc, EQ_MO_TRADE_LINKAGE (NOLOCK) tl
WHERE t.TRADE_OID = tl.TRADE_OID
AND t.TRADE_OID = tc.TRADE_OID
AND tl.LINK_TYPE = 'Allocation'
AND tc.CHARGE_NAME = 'Commission'
AND tc.CHARGE_AMOUNT != 0.0
표 2
select aD.ALLOCATION_ID, aD.ALLOCATION_VERSION, aD.ALLOCATION_SOURCE_SYSTEM,
al.LINK_PARENT_ID, al.LINK_PARENT_VERSION, ac.CHARGE_AMOUNT FROM EQ_MO_ALLOCATION_DETAIL aD, EQ_MO_ALLOCATION_DETAIL_CHARGE ac, EQ_MO_ALLOCATION_INSTR_LINKAGE al, EQ_MO_ALLOCATION_INSTR aI
WHERE aD.ALLOCATION_DETAIL_OID = ac.ALLOCATION_DETAIL_OID
AND aD.ALLOCATION_INSTR_ID = aI.ALLOCATION_INSTR_ID
AND aI.ALLOCATION_INSTR_OID = al.ALLOCATION_INSTR_OID
AND ac.CHARGE_NAME = 'Commission'
AND ac.CHARGE_AMOUNT != 0.0
AND ac.CHARGE_AMOUNT != -1.0
and aD.ALLOCATION_ID in
(select tl.LINK_PARENT_ID FROM EQ_MO_TRADE t, EQ_MO_TRADE_CHARGE tc, EQ_MO_TRADE_LINKAGE tl
where t.TRADE_OID = tl.TRADE_OID
AND t.TRADE_OID = tc.TRADE_OID
AND tl.LINK_TYPE = 'Allocation'
AND tc.CHARGE_NAME = 'Commission'
AND tc.CHARGE_AMOUNT != 0.0)
그래서 테이블 2 열에서의 입력의립니다 표 3은 표 2의 열에서 입력 한 것입니다.
코드 중복을 제거하고 쉽게 p 다음 표에 열 값을 입력하십시오.
이러한 SQL을 하나로 롤업 할 수 있습니까?
편집 : Netezza의 DB는 DBVisualizer
두 개의보기를 만드시겠습니까? – deerchao
** 태그 **에 추가 - 사용하는 데이터베이스 엔진과 같은 것들을 설명 할 곳 :-) –
@deerchao, 나는 SQL에 매우 익숙하다. 한 변수가 다른 변수와 비슷하다. – Will