2010-03-15 57 views
1

我有一個查詢,我通過ODBC在Informix數據庫上執行。該查詢正在傳遞一個參數(StartDate)。我需要多次使用StartDate的年份從正確的字段中獲取數據。當我使用下面列出的查詢時,它認爲有9個參數。因此,我知道這個語法是不正確的,但是,我無法找到正確的語法。所以...如何在Informix查詢中多次引用相同的參數?

如何在Informix查詢中多次引用相同的參數?

SELECT glma_segx AS AccountNumber, 
     glma_obj As AccountObject, 
     glma_accttp AS AccountType, 
     glma_desc AS AccountName, 
     glma_seg1 AS AccountSeg1, 
     glma_seg2 AS AccountSeg2, 
     glma_seg3 AS AccountSeg3, 
     glma_seg4 AS AccountSeg4, 
     glma_seg5 AS AccountSeg5, 
     glma_seg6 AS AccountSeg6, 
     glma_seg7 AS AccountSeg7, 
     glma_seg8 AS AccountSeg8, 
     YEAR(?) AS BudgetYear, 
    CASE WHEN YEAR(?) = glma_bud_yr THEN glma_memo_bal_cy 
     WHEN YEAR(?) = glma_bud_yr - 1 THEN glma_memo_bal_ly1 
     WHEN YEAR(?) = glma_bud_yr + 1 THEN glma_memo_bal_ny 
     ELSE 0 
    END AS YTDActuals, 
    CASE WHEN YEAR(?) = glma_bud_yr THEN glma_encumb_cy 
     WHEN YEAR(?) = glma_bud_yr - 1 THEN glma_encumb_ly1 
     WHEN YEAR(?) = glma_bud_yr + 1 THEN glma_encumb_ny 
     ELSE 0 
    END AS YTDEncumbrances, 
    CASE WHEN YEAR(?) = glma_bud_yr THEN glma_req_cy 
     WHEN YEAR(?) = glma_bud_yr + 1 THEN glma_req_ny 
     ELSE 0 
    END AS YTDRequisitions 
    FROM GLMaster, glparams 
    WHERE glma_seg1 NOT LIKE 'H%' 
    AND glmaster.glma_bud_yr=glparams.glpa_curr_yr 

隨時提前致謝,並幫助您提供。

回答

0

您必須提供多次參數;如果有9個佔位符,則需要提供9個值,如果它是9次相同的值,那就這樣做。

相關問題