私は、次のクエリを持っている:集計クエリ(SUM)
SELECT UserId, (
0.099 *
(
CASE WHEN
(SELECT AcceleratedProfitPercentage FROM CustomGroups cg
INNER JOIN UserCustomGroups ucg ON ucg.CustomGroupId = cg.Id
WHERE Packs.UserCustomGroupId = ucg.Id)
IS NOT NULL THEN
((SELECT AcceleratedProfitPercentage FROM CustomGroups cg
INNER JOIN UserCustomGroups ucg ON ucg.CustomGroupId = cg.Id
WHERE Packs.UserCustomGroupId = ucg.Id)*1.0)/(100*1.0)
ELSE 1
END
)
)
As amount
FROM Packs WHERE Id IN (
SELECT ap.Id FROM Packs ap JOIN Users u ON ap.UserId = u.UserId
WHERE ap.MoneyToReturn > ap.MoneyReturned AND
u.Mass LIKE '1%');
正しい出力を生成しています。しかし、私はそれを適切に集約する方法を知らない。私は標準のGROUP BYを使用しようとしましたが、エラーが発生しました(列 'Packs.UserCustomGroupId'は集計関数またはGROUP BYのいずれのクラスにも含まれていないため選択リストに無効です)。何か案は?
私はユーザーIDで、それを集計したい:ここで私は、現在入手出力されます。前もって感謝します。
これは(広告されているように)最も簡単で簡単なアプローチですが、彼の最初のクエリはとても悪いので、書き直すのが良いと思います。 –