Sql ORA-00905在case语句中缺少关键字..尽管语法正确
我得到查询中缺少的关键字错误ORA-00905Sql ORA-00905在case语句中缺少关键字..尽管语法正确,sql,case,Sql,Case,我得到查询中缺少的关键字错误ORA-00905 SELECT '01_AMT' AS FIELD, COUNT((NVL(AMT,0)) AS CNT FROM TBL1 UNION ALL SELECT CASE WHEN AMT IS NULL THEN 'NULL' WHEN AMT<10000 THEN '<10000' WHEN AMT>= 10000 and AMT<=59999 THEN '10,000-59,999’ ELSE '60,
SELECT '01_AMT' AS FIELD, COUNT((NVL(AMT,0)) AS CNT FROM TBL1
UNION ALL
SELECT
CASE
WHEN AMT IS NULL THEN 'NULL'
WHEN AMT<10000 THEN '<10000'
WHEN AMT>= 10000 and AMT<=59999 THEN '10,000-59,999’
ELSE '60,000up' END,
COUNT (1) CNT FROM TBL1
GROUP BY CASE
WHEN AMT IS NULL THEN 'NULL'
WHEN AMT<10000 THEN '<10000'
WHEN AMT>= 10000 and AMT<=59999 THEN '10,000-59,999’
ELSE '60,000up' END
输出:
场碳纳米管
01_金额100000
10000-59999 50000
600000升50000
第一个字段“01 Amt”应包含第二行的总计数和其他计数的细分。Amt是数字数据类型。您使用的不是标准收盘勾号,而是卷曲的勾号。甲骨文不理解它,它忽略了句子的其余部分。更正:
SELECT '01_AMT' AS FIELD, COUNT((NVL(AMT,0)) AS CNT FROM TBL1
UNION ALL
SELECT
CASE
WHEN AMT IS NULL THEN 'NULL'
WHEN AMT<10000 THEN '<10000'
WHEN AMT>= 10000 and AMT<=59999 THEN '10,000-59,999' <= CHANGED THIS TICK!
ELSE '60,000up' END,
COUNT (1) CNT FROM TBL1
GROUP BY CASE
WHEN AMT IS NULL THEN 'NULL'
WHEN AMT<10000 THEN '<10000'
WHEN AMT>= 10000 and AMT<=59999 THEN '10,000-59,999' <= CHANGED THIS TICK!
ELSE '60,000up' END
这应该会有帮助:这个999“应该是999”我的问题已通过更改的勾号解决。请告诉我它在键盘上的位置。我使用了“回车”按钮旁边的一个。但在键盘上找不到类似的。Microsoft Word会自动将正常的勾号更改为卷曲的勾号。如果您在word、outlook中键入了部分内容,或者从其他人处收到的内容超出了应更改的内容。大多数普通键盘上都不存在卷曲的刻度。