日期:2014-05-18  浏览次数:20587 次

如何将一行数据分解成多行呢?
请问一下,如何将一行数据分解成多行呢?

如:
姓名             语文         数学         地理
-------------------------------
张三               80             70             60


用sql语句将其分解成

姓名             分数
-------------------------------
张三               80
张三               70
张三               60


请问有办法吗?求解呀~   分不够另换新帐号给分~,帮帮忙,提提意见也行~~

------解决方案--------------------
搜索一下行列转换相关问题,这个问题讨论得太多了
------解决方案--------------------
姓名 语文 数学 地理
-------------------------------
张三 80 70 60


...这样有什么用,你得到的数据可以知道是那一个的?

select 姓名 ,语文 as 分数 union all
select 姓名 ,数学 as 分数 union all
select 姓名 ,地理 as 分数


------解决方案--------------------
select 姓名 ,语文 as 分数, '语文 ' 科目 union all
select 姓名 ,数学 as 分数, '数学 ' union all
select 姓名 ,地理 as 分数, '地理 '

这样会好点的,加多一字段