SELECT SUM(amount_paid) AS total_session FROM session
WHERE session.date = '2016-02-03' AND session.payment_status = 'PAID'
UNION
SELECT SUM(amount_paid) AS total_subscription FROM subscription
WHERE subscription.date_enrolled = '2016-02-03' AND subscription.payment_status = 'PAID'
我只想在别名为 total_session
和 total_subscription
的两个不同列中显示结果。我怎样才能使用 union 做到这一点?
最佳答案
代替 UNION,将每个查询作为子查询放在主 SELECT
SELECT
(SELECT SUM(amount_paid) FROM session
WHERE session.date = '2016-02-03' AND session.payment_status = 'PAID') AS total_paid,
(SELECT SUM(amount_paid) FROM subscription
WHERE subscription.date_enrolled = '2016-02-03' AND subscription.payment_status = 'PAID') AS total_subscription
关于mysql - 如何在不使用 union mysql 的情况下从一个查询中的两个不同表求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35169901/