我试图从连接中创建一个表并根据id对一些字段进行求和。这部分工作很好。我也想添加一个额外的列,并使用一个案例,当我想要填充它的声明。GROUP BY after CASE WHEN
这里是脚本
CREATE TABLE TABLE1
AS
SELECT ID, IDC, SUM(AMOUNT) PRICE, SUM(COST) COST, SUM(AMOUNT-COST) PROFIT,
CASE PROFIT
WHEN PROFIT < 1000 THEN 'Low'
WHEN PROFIT < 5000 THEN 'Medium'
ELSE 'High'
END AS PROFITLEVEL
FROM
(SELECT DISTINCT ID, IDC, AMOUNT, COST
FROM ORDER_ITEMS
LEFT JOIN ORDERS
ON ID = IDC)
GROUP BY ID, IDC;
然而,这会返回一个ORA-00905:缺少关键字的错误。
任何帮助,将不胜感激
CASE语法无效。 (其中包括...)当...时出现'情况'。但是,你不能在那里使用那个列别名PROFIT ... – jarlh
问题dufus标记为关闭为“由于错字或无法复制的问题” - 什么错字?这个问题怎么能不被转载? (只是问世界,因为dufus甚至不太可能记得标记关闭的问题。) – mathguy