当结果是同一查询中的求和和乘法时,对来自不同表的两个字段求和

时间:2016-08-16 22:15:40

标签: mysql sql

我有这两个查询,我想在一个查询中总结他们的结果,但是union all不起作用。

我使用此查询:

select sum(a.value1) from myTable a

我得到:10,然后我使用此查询

select b.value2*b.value3 from myTable b

我得到:10,我想总结它们并获得20,所以我使用了union:

select sum(a.value1) from myTable a
union all
select b.value2*b.value3 from myTable b

但查询返回

10
10

如何将它们相加以获得20

3 个答案:

答案 0 :(得分:0)

你可以这样做:

select ((select sum(a.value1) from myTable a) +
        (select b.value2*b.value3 from myTable b)
       ) as sum

答案 1 :(得分:0)

希望这有帮助!! select(sum(a.value1)+(从myTable b)中选择sum(b.value2 * b.value3)作为来自myTable a的测试

答案 2 :(得分:0)

我finnaly可以使用此查询:

select a.value4 + b.value5
  from (select sum(a.value1) value4 from myTable) a,
       (select b.value2 * b.value3 value5 from myTable) b