有表结构如下:
a(a1,a2,a3,a4)
a1可以重复为字符串型,值为'1'..'9',a2,a3为整数型
现做如下查询,1。select sum(a2)+sum(a3) from a where a1<'6' group by a1
2.select sum(a2)-sum(a3) from a where a1>'6' group by a1
谢谢!
...全文
20015打赏收藏
如何合并对一个表的两个查询结果成一个表
有表结构如下: a(a1,a2,a3,a4) a1可以重复为字符串型,值为'1'..'9',a2,a3为整数型 现做如下查询,1。select sum(a2)+sum(a3) from a where a1'6' group by a1 谢谢!
select 1,sum(cast(a2 as numeric))+sum(cast(a3 as numeric)),a1 from a where a1<'6' group by a1
union all
select 2,sum(cast(a2 as numeric))-sum(cast(a3 as numeric)),a1 from a where a1>'6' group by a1
order by 1
select * from(
select top 100 percent sum(cast(a2 as numeric))+sum(cast(a3 as numeric)) from a where a1<'6' group by a1 order by 字段1) a
union all
select * from(
select top 100 percent sum(cast(a2 as numeric))-sum(cast(a3 as numeric)) from a where a1>'6' group by a1 order by 字段2) b
select (sum(cast(a2 as numeric))+sum(cast(a3 as numeric))) As SUMa,a1 from a where a1<'6' group by a1
union all
select (sum(cast(a2 as numeric))-sum(cast(a3 as numeric))) As SUMa,a1 from a where a1>'6' group by a1
order by a1
select sum(cast(a2 as numeric))+sum(cast(a3 as numeric)),a1 from a where a1<'6' group by a1
union all
select sum(cast(a2 as numeric))-sum(cast(a3 as numeric)),a1 from a where a1>'6' group by a1
order by a1
错了,我是这样写的:
我也是用union的,select * from (select sum(cast(a2 as numeric))+sum(cast(a3 as numeric)),a1 from a where a1<'6' group by a1
union all
select sum(cast(a2 as numeric))-sum(cast(a3 as numeric)),a1 from a where a1>'6' group by a1
)as m order by a1
提示出错
oeder by不可少该怎么写,谢谢
我也是用union的,select * from (select sum(cast(a2 as numeric))+sum(cast(a3 as numeric)),a4 from a where a1<'6' group by a1
union all
select sum(cast(a2 as numeric))-sum(cast(a3 as numeric)),a4 from a where a1>'6' group by a1
)as m order by a4
提示出错
select sum(cast(a2 as numeric))+sum(cast(a3 as numeric)) from a where a1<'6' group by a1
union all
select sum(cast(a2 as numeric))-sum(cast(a3 as numeric)) from a where a1>'6' group by a1