Hallo、 私はテーブルtableAとテーブルtableBを持っている。 tableAにはAmountという列があります。 tableBにはrefIDという列があります。同じ値を持つrefIDがある場合、Amountカラムを合計したいと思います。私は私のクエリでSUMを使用していたが、それは私にエラーをスロー:ここ私は結合テーブルを持っているときに合計を照会する方法
ORA-30483: window functions are not allowed here
30483. 00000 - "window functions are not allowed here"
*Cause: Window functions are allowed only in the SELECT list of a query.
And, window function cannot be an argument to another window or group
function.
はあなたの参照のための私のクエリです:
select *
from (
select SUM(A.Amount), B.refId, Rank() over (partition by B.refID order by B.id desc) as ranking
from table A
left outer join table B on A.refID = B.refID
)
where ranking=1;
は、私が知っているかもしれない私がするためには任意の代替ソリューションがあります金額を合計しますか?
THanks @!
いいね! OVER(PARTITION BY a.refId)のないSUM(量)は機能していません。私はそれが問合せのランク()によって引き起こされるかどうかを考えていたので、そのように量を合計することはできません。 :0) – huahsin68
@ huahsin68:「作業していない」とは何を意味するのかを指定してください:構文解析せず、エラーをスローし、不正な結果を返しますか? – Quassnoi