我有一个查询,它返回的数据有点像这样:
REF01 10 50 1
REF01 10 50 1
REF01 20 40 1
REF01 20 40 1
REF01 30 30 2
REF02 40 20 1
REF02 50 10 2
REF02 50 10 2
我需要它像这样返回它:
REF01 60 120
REF02 90 30
为此,我首先添加一个DISTINCT
(GROUP BY
所有列似乎也这样做)以删除返回它的重复项,如下所示:
REF01 10 50 1
REF01 20 40 1
REF01 30 30 2
REF02 40 20 1
REF02 50 10 2
然后我需要添加一个SUM()
结果而不计算删除的重复结果。
我已经尝试过这样的解决方案,但是我得到了一个错误,FROM (SELECT ...)
并且这个确实有效,除了子查询中的一列是操作(column_1-column_2-column_3
)的结果,这会导致错误ORA-00972: identifier is too long
超过 30 个字符的最大限制并尝试AS
在子查询中应用别名(在WITH SUBQUERY AS ( ... )
我尝试过的 MS Query 中不起作用。
对大多数 SQL 函数等的支持在 Microsoft Query 上并不是最好的。