select field1,sum(je) from book1 group by field1 union all (select field1,sum(je) from book2 group by field1)如何将以上语句所返回的两个sum(je)合并为一个数?(不考虑用过程完成!)
select a.field1,a.sum1+b.sum2 from (select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1=b.field1
不太对: oracle: select a.field1,a.sum1+nvl(b.sum2,0) from (select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1=b.field1(+) union select a.field1,nvl(a.sum1,0)+b.sum2 from (select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where b.field1=a.field1(+)
sql server: select a.field1,a.sum1+isnull(b.sum2,0) from (select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1*=b.field1 union select a.field1,isnull(a.sum1,0)+b.sum2 from (select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where b.field1*=a.field1
select field1, sum(je) from (select field1,je from book1 union all select field1,je from book2) group by field1;or: select field1, sum(x) from (select field1,sum(je) x from book1 group by field1 union all select field1,sum(je) from book2 group by field1) group by field1
select field1,sum(je)*2 as je from book1 group by field1
谢谢大家,问题我已经解决了,呵呵 select a.filed1,sum(a.je) from (select field1,sum(je) as ke from book1 group by field1 union all (select field1,sum(je) from book2 group by field1)) a group by a.field1
select sum(sum_data) from ( select field1,sum(je) as sum_data from book1 group by field1 union all (select field1,sum(je) as sum_data from book2 group by field1) )
to Viper_sh(viper) : 你的问题虽然解决了,但我觉得你的写法不如弱水大哥的方法简洁清晰。
(select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1=b.field1
oracle:
select a.field1,a.sum1+nvl(b.sum2,0) from
(select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1=b.field1(+)
union
select a.field1,nvl(a.sum1,0)+b.sum2 from
(select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where b.field1=a.field1(+)
select a.field1,a.sum1+isnull(b.sum2,0) from
(select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where a.field1*=b.field1
union
select a.field1,isnull(a.sum1,0)+b.sum2 from
(select field1,sum(je) sum1 from book1 group by field1) a,(select field1,sum(je) sum2 from book2 group by field1) b where b.field1*=a.field1
from (select field1,je from book1
union all
select field1,je from book2)
group by field1;or:
select field1, sum(x)
from (select field1,sum(je) x from book1 group by field1
union all
select field1,sum(je) from book2 group by field1)
group by field1
select a.filed1,sum(a.je) from (select field1,sum(je) as ke from book1 group by field1 union all (select field1,sum(je) from book2 group by field1)) a group by a.field1
( select field1,sum(je) as sum_data from book1 group by field1 union all (select field1,sum(je) as sum_data from book2 group by field1) )
你的问题虽然解决了,但我觉得你的写法不如弱水大哥的方法简洁清晰。