(mysql) 我怎样才能得到总和?

(mysql) how can i get sum of sum?

(select sum(serreq_totalamount)
                from servicerequirement
                    group by key_id)+
            (select sum(facreq_totalamount)
                from facilityrequirement
                    group by key_id)+
            (select sum(resorder_totalamount)
                from restaurantorder
                    group by key_id)

我想得到总和。如我所愿。

如何创建一个将这三个表的总和列相加的列?

首先3太难了,我试了2个表,但是报错

select (
(select sum(serreq_totalamount)
        from servicerequirement
            group by servicerequirement.key_id)+
(select sum(facreq_totalamount)
        from facilityrequirement
            group by facilityrequirement.key_id));
Error Code: 1242. Subquery returns more than 1 row  0.000 sec

加入也是如此。

(select
(select sum(serreq_totalamount)
        from servicerequirement
            group by servicerequirement.key_id),
    (select sum(facreq_totalamount)
        from facilityrequirement
            group by facilityrequirement.key_id)
        from servicerequirement
    inner join facilityrequirement
    on servicerequirement.key_id=facilityrequirement.key_id);
Error Code: 1242. Subquery returns more than 1 row  0.000 sec

如果有人帮助我,我会很高兴。

您必须在 key_id

之前提出申请并加入他们

然后你可以把它们加起来

SELECT t1.key_id,s1+s2+s3
FROM
(select key_id,sum(serreq_totalamount) s1
                from servicerequirement
                    group by key_id) t1
INNER JOIN 
            (select key_id,sum(facreq_totalamount) s2
                from facilityrequirement
                    group by key_id) t2 ON t1.key_id = t2.key_id
INNER JOIN
            (select key_id,sum(resorder_totalamount)
                from restaurantorder
                    group by key_id) t3 ON t2.key_id = t3.key_id