create or replace view v_noah_INPUT_DATA asSELECT S.ACCHFM, (CASE  WHEN T.ICUSTOM1TOPMEMBER IS NOT NULL 
                     THEN (SELECT M.CDES FROM TBL_HFMBAS_INTER_C1_ITEM M
                     WHERE M.IITEMID= T.ICUSTOM1TOPMEMBER)
                 END)
 FROM V_UC_ZJ_MASTER S,TBL_HFMBAS_INTER_ACCOUNT_ITEM T 
 WHERE S.ACCHFM = T.CLABEL总是提示:ORA-00998 必须使用列别名命名此表达式
为什么?

解决方案 »

  1.   

    不好意思,你的case when 以后需要给它制定一个别名
    用下面的就可以了。
    create or replace view v_noah_INPUT_DATA asSELECT S.ACCHFM, (CASE  WHEN T.ICUSTOM1TOPMEMBER IS NOT NULL 
                         THEN (SELECT M.CDES FROM TBL_HFMBAS_INTER_C1_ITEM M
                         WHERE M.IITEMID= T.ICUSTOM1TOPMEMBER)
                     END) as youcolname
     FROM V_UC_ZJ_MASTER S,TBL_HFMBAS_INTER_ACCOUNT_ITEM T 
     WHERE S.ACCHFM = T.CLABEL
      

  2.   

    (CASE  WHEN T.ICUSTOM1TOPMEMBER IS NOT NULL 
                         THEN (SELECT M.CDES FROM TBL_HFMBAS_INTER_C1_ITEM M
                         WHERE M.IITEMID= T.ICUSTOM1TOPMEMBER)
                     END)也可以把前后的括号去掉