2009-11-26 66 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:你可以用表引用更新第二個查詢(ACCOUNT NAME)嗎?我不知道哪一列與哪個表相關。 – 2009-11-26 05:53:55

回答

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作爲搜索條件,並在您的分組的前沿 - 是你需要什麼?

由於您的問題的神祕性質,這是一個'估計'!