oracle sql行转列

转载:http://www.cnblogs.com/NothingIsImpossible/archive/2010/10/13/1850250.html html

//decode:
select 
   Name,
   sum(decode(Subject,'语文',Result,0)) 语文,
   sum(decode(Subject,'数学',Result,0)) 数学,
   sum(decode(Subject,'英语',Result,0)) 英语
from Results
group by Name;
//case:
select 
   Name,
   sum((case when Subject='语文' then Result else 0 end)) 语文,
   sum((case when Subject='数学' then Result else 0 end)) 数学,
   sum((case when Subject='英语' then Result else 0 end)) 英语
from Results
group by Name;
相关文章
相关标签/搜索