sum 関数を使用して 1 列のすべての値を合計し、別のテーブルのタプル数で割るクエリを作成しようとしています。何らかの理由で、合計クエリを単独で実行すると正しい数値が返されますが、クエリでそれを使用すると、値が間違っています。
これは私がやろうとしていることですが、数字が間違っています。
select (sum(adonated) / count(p.pid)) as "Amount donated per Child"
from tsponsors s, player p;
問題は合計にあることがわかりました。以下は、25000 を返す必要があるときに 650,000 を返します。
select (sum(adonated)) as "Amount donated per Child"
from tsponsors s, player p;
プレーヤー p から を削除すると、正しい金額が得られます。ただし、プレーヤーの数を取得するにはプレーヤーテーブルが必要です。
このクエリに関連する 3 つのテーブルがあります。player(pid, tid(fk)) team(tid) tsponsors(tid(fk), adonated, sid(fk)) これは参加テーブルです
私が取得したいのは、各チームに寄付されたすべての金額の合計 (寄付) であり、これをデータベース内のプレイヤー数 (pid) で割ります。