select DECODE(TBL_PIS1.BUSIN_ACTY_CDE, 'EQTY', TBL_PIS1.AC_CATG, TBL_PIS1.BUSIN_ACTY_CDE) ACC_TYPE,
DECODE(ACC_TYPE, 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ
from MC_INT_POST_SUMM TBL_PIS1错误信息:ORA-00904: "ACC_TYPE": ¿¿¿¿¿好像是说字段非法,或无效。哪位高手帮我解释下? 是不是别名ACC_TYPE在第二个decode语句里不能用啊?
DECODE(ACC_TYPE, 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ
from MC_INT_POST_SUMM TBL_PIS1错误信息:ORA-00904: "ACC_TYPE": ¿¿¿¿¿好像是说字段非法,或无效。哪位高手帮我解释下? 是不是别名ACC_TYPE在第二个decode语句里不能用啊?
要么你在外面嵌套一层:
select ACC_TYPE,DECODE(ACC_TYPE, 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ
from (
select DECODE(TBL_PIS1.BUSIN_ACTY_CDE, 'EQTY', TBL_PIS1.AC_CATG, TBL_PIS1.BUSIN_ACTY_CDE) ACC_TYPE,
DECODE(ACC_TYPE, 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ
from MC_INT_POST_SUMM TBL_PIS1 )
还是使用前面的那个大长串吧
select decode('a','a',3,4) t1,decode(t1,'a',3,5) from dual
ORA-00904: "T1": 标识符无效举例:2SQL> select decode(t1,'a',3,5) from
2 (select decode('a','a',3,4) t1 from dual);
DECODE(T1,'A',3,5)
------------------
5
举例:3
SQL> select decode(decode('a','a',3,4),'a',3,5) from dual;
DECODE(DECODE('A','A',3,4),'A'
------------------------------
5
SELECT TBL_PIS1.CCY_CDE CURRENCY FROM MC_INT_POST_SUMM TBL_PIS1,
DECODE(TBL_PIS1.BUSIN_ACTY_CDE, 'EQTY', TBL_PIS1.AC_CATG, TBL_PIS1.BUSIN_ACTY_CDE) ACC_TYPE,
DECODE(DECODE(TBL_PIS1.BUSIN_ACTY_CDE, 'EQTY', TBL_PIS1.AC_CATG, TBL_PIS1.BUSIN_ACTY_CDE), 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ,
'Credit' CR_DR,
TBL_PIS1.ACT_POST_CR_INT MONTH_1_VALUE
from MC_INT_POST_SUMM TBL_PIS1这个句子报ORA-00933错误,好像是命令未正确结束。这又是为啥呢
例:deocde(条件,符合条件1,输出结果1,符合条件2,输出结果2,默认结果)
DECODE(DECODE(TBL_PIS1.BUSIN_ACTY_CDE, 'EQTY', TBL_PIS1.AC_CATG, TBL_PIS1.BUSIN_ACTY_CDE), 'CASH', 1, 'MARGIN', 2, 3) ACC_SEQ
from MC_INT_POST_SUMM TBL_PIS1