【发布时间】:2017-11-22 14:15:45
【问题描述】:
我有一个更大的 Select 语句,它可以正常工作,直到我包含以下返回以下错误的语句。
仅使用 Sum 部分也可以,但我只需要在每个 AID 的第一行使用它,这就是我在这里使用行号的原因。
谁能告诉我我在这里做错了什么?
问题是否可能是 Sum 和 Partition 指的是我在 Select 中加入的两个不同的表?
我的 SQL(Select 的一部分):
, CASE
WHEN ROW_NUMBER() OVER (PARTITION BY dp.SHIPPER_ID ORDER BY di.AID) = 1 THEN (SUM(di.SHIPPED_UNITS) OVER (PARTITION BY dp.SHIPPER_ID))
ELSE ''
END AS Gesamtmenge
错误信息:
ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
非常感谢您的帮助,
迈克
【问题讨论】:
-
shipped_units是类型号吗? -
@RLOG:是的,是型号。
-
使用 null 代替 ''
-
@MiloBellano:非常感谢 - 效果很好!如果您将其发布为答案,我会接受。 :)
-
乐于助人! :) 如果您想接受,我已经发布了答案。谢谢老哥!
标签: sql oracle select case partition