【发布时间】:2016-10-06 02:36:39
【问题描述】:
我试图在 oracle 数据库的给定日期之间从表中获取总事务计数。我编写了一个子查询来对唯一事务进行分组,当我尝试对子查询中的列求和时,我收到错误 ORA-00904: ColumnName : 不合法的识别符。我是 oracle 的新手,但这同样适用于我在 sql server 中的工作。
这是我的问题。
select sum(Tots),sum(CRIR),sum(RT),sum(Succes) from(
select ds.LOAN_ID,ds.CUST_ID,TO_CHAR(ds.SENT_DT_TIME, 'YYYY-MM-DD') "Dates", count(*) "Tots",
SUM(DECODE (ds.STATUS, 'CR', 1,'IR',1,0)) "CRIR",
SUM(DECODE (ds.STATUS, 'R', 1,'T',1,0)) "RT",
SUM(DECODE (ds.STATUS, 'S', 1, 0)) "Succes"
FROM DATA_STRING ds
WHERE TRUNC(ds.SENT_DT_TIME) BETWEEN to_date('2016-10-04','yyyy-mm-dd') and to_date('2016-10-07','yyyy-mm-dd')
Group by ds.LOAN_ID,ds.CUST_ID,TO_CHAR(ds.SENT_DT_TIME, 'YYYY-MM-DD')
);
【问题讨论】:
-
完整的错误信息是什么?它应该将您指向违规标识符的行和位置,这有帮助吗? (如果您需要更多帮助,请在此处分享该信息。)