2009-11-26 3 views
0
SELECT 
    PC_SL_ACNO,  -- DB ITEM 
    SLNAME,    -- ACCOUNT NAME: 
    SL_TOTAL_AMOUNT -- TOTAL AMOUNT: 
FROM GLAS_PDC_CHEQUES 
WHERE PC_COMP_CODE=:parameter.COMP_CODE 
    AND pc_bank_from = :block02.pb_bank_code 
    AND pc_due_date between :block01.date_from 
    AND :block01.date_to 
    AND nvl(pc_discd,'X') IN(‘X’, 'R') 
GROUP BY 
    pc_comp_code, pc_sl_ldgr_code, pc_sl_acno 
ORDER BY pc_sl_acno 

계정 이름 :세 테이블을 조인하는 방법?

BEGIN 
    SELECT COAD_PTY_FULL_NAME INTO :BLOCK03.SLNAME 
    FROM GLAS_PTY_ADDRESS,GLAS_SBLGR_MASTERS 
    WHERE SLMA_COMP_CODE = :PARAMETER.COMP_CODE 
    AND SLMA_ADDR_ID = COAD_ADDR_ID 
    AND SLMA_ADDR_TYPE = COAD_ADDR_TYPE 
    AND SLMA_ACNO  = :BLOCK03.PC_SL_ACNO 
    AND SLMA_COMP_CODE = COAD_COMP_CODE; 
EXCEPTION WHEN OTHERS THEN NULL; 
END; 

총 금액 :

BEGIN 
    SELECT SUM(PC_AMOUNT) INTO :SL_TOTAL_AMOUNT 
    FROM GLAS_PDC_CHEQUES 
    WHERE PC_DUE_DATE BETWEEN :BLOCK01.DATE_FROM AND :BLOCK01.DATE_TO 
    AND PC_BANK_FROM = :block02.PB_BANK_CODE 
    AND PC_SL_ACNO = :BLOCK03.PC_SL_ACNO 
    AND NVL(PC_DISCD,'X') = 'R' 
    AND PC_COMP_CODE = :PARAMETER.COMP_CODE; 
EXCEPTION WHEN OTHERS THEN :block03.SL_TOTAL_AMOUNT := 0; 
END; 

가 어떻게이 세 개의 테이블을 가입 할 수 있습니까?

+1

@Domnic : 두 번째 쿼리 (계정 이름)를 테이블 참조로 업데이트 할 수 있습니까? 어떤 열이 어떤 테이블과 관련이 있는지 알 수 없습니다. –

답변

2

쿼리 나 쿼리에 필요한 기준과 필수 필드에 따라 조정해야합니다.

SELECT 
     c.PC_SL_ACNO, 
     a.COAD_PTY_FULL_NAME, 
     SUM(c.PC_AMOUNT) 
FROM 
     GLAS_PDC_CHEQUES c 
LEFT JOIN 
     GLAS_SBLGR_MASTERS m 
ON  ( c.PC_SL_ACNO  = m.SLMA_ACNO 
     AND c.PC_COMP_CODE = m.SLMA_COMP_CODE 
     ) 
LEFT JOIN 
     GLAS_PTY_ADDRESS a 
ON  ( m.SLMA_ADDR_ID = a.COAD_ADDR_ID 
     AND m.SLMA_COMP_CODE = a.COAD_COMP_CODE 
     AND m.SLMA_ADDR_TYPE = a.COAD_ADDR_TYPE 
     ) 
WHERE 
     c.PC_COMP_CODE  = :PARAMETER.COMP_CODE 
AND c.PC_SL_ACNO   = :BLOCK03.PC_SL_ACNO 
AND c.PC_BANK_FROM  = :BLOCK02.PB_BANK_CODE 
AND NVL(c.PC_DISCD,'X') IN (‘X’, 'R') 
AND c.PC_DUE_DATE BETWEEN :BLOCK01.DATE_FROM AND :BLOCK01.DATE_TO 
GROUP BY 
     c.PC_SL_ACNO, -- not sure which grouping exactly you need. 
     a.COAD_PTY_FULL_NAME 
ORDER BY 
     c.PC_SL_ACNO 

나는 첫 번째 쿼리에서 당신이 검색 기준으로 pc_comp_code을 통지하고 그룹의 첨단에 - 당신이 필요로하는 것이 무엇입니까?

질문의 수수께끼 같은 성격 때문에 '예상치'가 조금 있습니다!

관련 문제