【发布时间】:2026-01-03 11:40:01
【问题描述】:
我在这里讨论了几个话题,但我无法让它发挥作用。对于每个“底池”,我想获得与该底池相关的付款次数以及全部佣金(所有付款佣金的总和)。
SELECT id, id_user,
( SELECT IFNULL( SUM(amount), 0 ) AS collectedA,
IFNULL( SUM(commission), 0 ) AS commission
FROM payment AS pay WHERE pay.id_pot = pot.id AND pay.stat = 1 ) FROM pot
上面给了我标题中提到的错误。我知道我们不能用这种子查询选择两列。 我试图通过 LEFT OUTER JOIN 但无法让它工作。
SELECT id, id_user,
IFNULL( SUM(payment.amount), 0 ) AS collectedA,
IFNULL( SUM(payment.commission), 0 ) AS commission
FROM pot LEFT OUTER JOIN payment ON payment.id_pot = pot.id AND payment.stat = 1
但这给了我奇怪的结果......
【问题讨论】:
标签: mysql sql subquery left-join