2016-08-16 51 views
-1

我有这两个查询,我想在一个查询中求和他们的结果,但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

回答

0

你可以这样做:

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

希望这有助于! 选择(总和(a.value1)+(SELECT SUM(b.value2 * b.value3)从myTable的B)),如从测试myTable的一个

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 
相关问题