【发布时间】:2021-11-30 09:21:02
【问题描述】:
我正在尝试在 ORACLE SQL 中使用 CASE 按组来SUM 数量,但这似乎不起作用:
SUM(A11.NEW_MRP_QTY) OVER (CASE WHEN A11.STOCK_TYPE = 'C' THEN 'INVENTORY'
WHEN A11.STOCK_TYPE = 'L' THEN 'INTRANSIT PO'
WHEN A11.STOCK_TYPE = 'B' THEN 'PO AT FACTORY'
WHEN (A11.STOCK_TYPE = 'A' AND A11.POR_ORDER_TYPE = 'CO') THEN 'PO AT FACTORY'
WHEN (A11.STOCK_TYPE = 'A' AND A11.POR_ORDER_TYPE <> 'CO') THEN 'NOT BOUGHT'
WHEN A11.STOCK_TYPE = ' ' THEN 'BLANK STOCK TYPE'
ELSE 'CHECK')
END AS 'SUPPLY_QTY'
关于我做错了什么有什么想法吗?谢谢。
【问题讨论】:
-
case表达式没有end。 -
'SUPPLY_QTY'是字符串文字,而不是标识符。请改用双引号。 -
这个问题似乎没有包含足够的信息来说明什么似乎不起作用。请描述您遇到的错误并仔细检查语法。