-1

我使用 TOAD 进行 ORACLE 查询,现在我有疑问,为什么查询结果总是显示 2 而我已经对我的列进行了分组。

为了清楚起见,这是我的代码:

SELECT DISTINCT
M.MODEL_NO,
P.FORM_NO,
P.MODEL_NO,
P.DATE_ADDED,
Q.FORM_NO,
Q.STATUS_QTY,
SUM(Q.QTY) OVER (PARTITION BY M.MODEL_NO ORDER BY M.MODEL_NO
RANGE UNBOUNDED PRECEDING) QTY  

FROM
SEIAPPS_MODEL M, SEIAPPS_PRODUCTION_STATUS P, SEIAPPS_QTY Q  

WHERE
P.FORM_NO = Q.FORM_NO AND P.MODEL_NO = M.MODEL_NO AND M.MODEL_NO = '17' AND P.DATE_ADDED 
BETWEEN '2013-08%' AND '2013-10' AND Q.STATUS_QTY = 'OK'

对于 sum Quantity 是成功的,但我的问题是,为什么结果总是显示双倍的数据?逻辑是,如果型号相同,那么尽管添加了不同的日期,但它将对其求和。

4

1 回答 1

0

可能您打算在窗口子句中按 P.DATE_ADDED 排序。

于 2013-09-26T08:34:57.793 回答