特定のストアドプロシージャを実行するMySQLデータベースがあります。
そのうちの1つでは、特定のユーザーが支払わなければならない金額と、彼がすでに支払った金額を合計して、支払われる金額が支払われる金額と等しくない場合に、すべてのユーザーを返したいと思います。私は次の(単純化された)クエリを思いついた:
SELECT userId, SUM(costs) as sum_costs,
(SELECT SUM(payed)
FROM payments p WHERE ta.userId=p.userId) as sum_payed
FROM ta
GROUP BY ta.userId
ORDER BY ta.userId;
これにより、各ユーザーの費用と支払いの合計がわかります。しかし、コストと支払いが等しくないユーザーだけを選択する方法がわかりません。
WHERE sum_costs != sum_payed
mysqlはWHERE句の列'sum_costs'を認識していないため、機能しません。
何かアイデア、選択を機能させる方法は?