SELECT 名称,'一月' as 月份,一月 as 金额 from tablename group by 名称
UNION
SELECT 名称,'二月' as 月份,二月 as 金额 from tablename group by 名称
UNION
.
.
.
SELECT 名称,'十一月' as 月份,十一月 as 金额 from tablename group by 名称
UNION
SELECT 名称,'十二月' as 月份,十二月 as 金额 from tablename group by 名称
UNION
SELECT 名称,'二月' as 月份,二月 as 金额 from tablename group by 名称
UNION
.
.
.
SELECT 名称,'十一月' as 月份,十一月 as 金额 from tablename group by 名称
UNION
SELECT 名称,'十二月' as 月份,十二月 as 金额 from tablename group by 名称
解决方案 »
- windows下oracle数据库分布启动数据库的具体操作
- 求解一段sql的含义(关于 level )
- 两条update语句如何合并为一条语句?
- 求一条语句对应id号与名称
- 100分请问我用10g的exp导出9i的数据,再导入9i出现ora-02248错误原因?
- SQL语句中有个FOR UPDATE,请问有什么作用?
- 请问SOLARIS9 X86 上能安装ORACLE9I 吗?用的是哪个版本呢?
- 我晕,TNS起不来...
- 各位大哥有没有民航网上订票系统的库啊?
- 同时熟悉sql server和oracle的大侠们评估一下:系统从sql server 迁移到oracle的工作量(详情见帖)
- 如何取得包体中对象名称的清单?
- 求触发器before,after的用法
select name,' 一月',m1 mon from m group by name,m1
union
select name,' 二月',m2 mon from m group by name,m2
...union
select name,' 十二月',m12 mon from m group by name,m12order by name desc ,mon参考一下喽
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+' from t1 union all select ' from syscolumns where id=object_id('t1')
set @=left(@,len(@)-len(' from t1 union all select '))
--print @
exec('select '+@+' from t1')
--------------------------------
一月一月写很麻烦的,这个是sql下的例子,你把它改成oracle就是了
-------- ---------- ---------- ---------- ----------
张三 100 200 300 400
李四 300 300 500 800SQL> select name,'一月' 月份,一月 金额 from geshi group by name,一月
2 union
3 select name,'二月' 月份,二月 金额 from geshi group by name,二月
4 union
5 select name,'三月' 月份,三月 金额 from geshi group by name,三月
6 union
7 select name,'四月' 月份,四月 金额 from geshi group by name,四月;NAME 月份 金额
-------- ---- ----------
李四 二月 300
李四 三月 500
李四 四月 800
李四 一月 300
张三 二月 200
张三 三月 300
张三 四月 400
张三 一月 100已选择8行。