sql语句请大家给我转成ORACLE语句

来源:百度知道 编辑:UC知道 时间:2024/09/25 01:21:44
declare @sql varchar(500)
select @sql=ISNULL(@sql+'],[','')+aihao from F group by aihao
set @sql='['+@sql+']'
exec('select * from (select country,aihao,c=sum(renshu) from F group by aihao,country) a pivot (max(c) for aihao in('+@sql+'))b')

没有ORACLE10没有PIVOT函数
declare @sql varchar(500)
set @sql = 'select country '
select @sql = @sql + ' , sum(case aihao when ''' + aihao + ''' then renshu else 0 end) [' + aihao + ']'
from (select distinct aihao from F) as a
set @sql = @sql + ' from F group by country'
exec(@sql)
求整体,我才用ORACLE,正在学习中,所以请写出全部的,先谢谢了

declare @sql varchar(500)
set @sql = 'select country '
select @sql = @sql + ' , sum(case aihao when ''' + aihao + ''' then renshu else 0 end) [' + aihao + ']'
from (select distinct aihao from F) as a
set @sql = @sql + ' from F group by country'
exec(@sql)

Oracle--可用 max(case when ...else ..end) as ...静态写法