小编典典

将多个SQL选择结果相加?

sql

我有三个SQL选择,需要将它们的结果加在一起。这三个中的两个使用相当复杂的联接。

select sum(field_one) from t_a join t_b on (t_a.bid = t_b.id) where t_b.user_id=:id
select sum(field_two) from t_c join t_d on (t_c.did = t_d.id) where t_d.user_id=:id
select sum(field_three) from t_e where t_e.user_id=:id

我需要的是所有三个值的总和。
sum(field_one)+sum(field_two)+sum(field_three)。无论如何,是否可以在单个语句中执行此操作?


阅读 162

收藏
2021-04-14

共1个答案

小编典典

你可以的UNION ALL
请勿使用UNION,因为它会忽略重复的值(5+5+5会导致5)。

Select Sum(s)
From
(
  Select Sum(field_one) As s ...
  Union All
  Select Sum(field_two) ...
  Union All
  Select Sum(field_three) ...
) x
2021-04-14