mysql - 如何在不使用 union mysql 的情况下从一个查询中的两个不同表求和

标签 mysql database

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_sessiontotal_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/

相关文章:

mysql - Controller 文件已加载但类不存在?

php - 如何删除 mysql 中特定字段按时间顺序与其他重复项相邻重复的行

mysql - 如何防止将假期插入到作为日期列的表中

mysql - 在本地主机上运行 Rails 应用程序时出现问题

php - 如何将数据插入2个不同的表(php mysql)

database - CouchDB View : How much processing is acceptable in map reduce?

mysql - 将多行转换为列

php - 引号和 mysql 插入的问题

php - 下拉搜索列表无法将变量设置为等于所选选项

mysql - 为什么根据查询的日期范围不使用created_at索引?