case when then

select a.ITEM_ID,
       a.ITEM_ID ITEM_CODE_NAME,
       b.ITEM_CODE,
       b.ITEM_NAME,
       a.AGENCY_ID || '-' || a.AGENCY_ITEM_ID AGENCY_ID,
       a.ZC_DEPT_ID || '-' || a.ZC_DEPT_ITEM_ID ZC_DEPT_ID,
       a.ZCYJ,
       a.FUNDCLASS_ID,
       a.PROTYPE_ID,
       b.ID,
       b.ANNUAL,
       b.ZG_DEPT_ID || '-' || b.ZG_DEPT_ITEM_ID ZG_DEPT_ID,
       b.ZJ_DEPT_ID || '-' || b.ZJ_DEPT_ITEM_ID ZJ_DEPT_ID,
       b.EXPFUNC_ID || '-' || b.EXPFUNC_ITEM_ID EXPFUNC_ID,
       b.BASESVR_ID || '-' || b.BASESVR_ITEM_ID BASESVR_ID,
       b.INCSTR_ID,
       b.PAYTYPE_ID,
       b.STATUS,
       b.SN,
       to_char(b.START_DATE, 'yyyy-mm-dd') START_DATE,
       to_char(b.END_DATE, 'yyyy-mm-dd') END_DATE,
       b.PAY_MONTH,
       b.BGT_FILE,
       b.REV_FILE,
       b.SUPER_REV_FILE,
       b.IS_CZDB,
       b.IS_NCXM,
       b.CREATE_DATE,
       B.YSAMOUNT,
       b.COUNTY_DISP_ID,
       b.COUNTY_PROJ_ID,
       (CASE FUNDCLASS_ID
         WHEN 1 THEN
          (SELECT COND FROM TB_BGT_BASEEXP_FML WHERE ITEM_ID = A.ITEM_ID)
         ELSE
          NULL
       END) COND,
       (CASE FUNDCLASS_ID
         WHEN 1 THEN
          (SELECT REMARK FROM TB_BGT_BASEEXP_FML WHERE ITEM_ID = A.ITEM_ID)
         WHEN 2 THEN
          (SELECT REPLACE(TO_CHAR(WMSYS.WM_CONCAT(T1.NAME || '(' ||T1.F_REMARK || ')')), ',',' + ') AS FOMULA
             FROM TB_EXPITEM_REF_ECO T
             LEFT JOIN (SELECT ECO_ITEM_ID, B.NAME, B.F_REMARK
                         FROM TB_ECO_REF_EXP A
                         LEFT JOIN TD_STD_ITEM B
                           ON A.ITEM_ID = B.ITEM_ID) T1
               ON T.ECO_ITEM_ID = T1.ECO_ITEM_ID
            WHERE ITEM_ID = A.ITEM_ID
            GROUP BY ITEM_ID)
         ELSE
          NULL
       END) FOMULA
  from tb_bgt_item a
  join tb_bgt_item_info b
    on a.item_id = b.item_id
 where b.id =32776

猜你喜欢

转载自1601844782.iteye.com/blog/2267226
今日推荐