Как ссылаться на один и тот же параметр более одного раза в запросе Informix? - PullRequest
1 голос
/ 15 марта 2010

У меня есть запрос, который я выполняю через ODBC для базы данных Informix. Запросу передается параметр (StartDate). Мне нужно использовать год StartDate много раз, чтобы получить данные из правильных полей. Когда я использую запрос, как указано ниже, он думает, что есть 9 параметров. Поэтому я знаю, что этот синтаксис неверен, однако я не могу найти правильный синтаксис. Итак ...

Как ссылаться на один и тот же параметр более одного раза в запросе 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

Заранее спасибо за любое время и помощь, которую вы можете предложить.

1 Ответ

0 голосов
/ 15 марта 2010

Вы должны указывать параметр столько раз, сколько на него ссылаются; если есть 9 заполнителей, вам нужно указать 9 значений, и если это будет одно и то же значение 9 раз, пусть будет так.

...