日期:2014-05-16 浏览次数:20603 次
select 姓名, 科目1 科目, 成绩1 成绩 from 表 where 科目1<>''
union all
select 姓名, 科目2 科目, 成绩2 成绩 from 表 where 科目2<>''
union all
select 姓名, 科目3 科目, 成绩3 成绩 from 表 where 科目3<>''
union all
select 姓名, 科目4 科目, 成绩4 成绩 from 表 where 科目4<>''
union all
select 姓名, 科目5 科目, 成绩5 成绩 from 表 where 科目5<>''
目测需要使用union拼接
--> 测试数据: [ta]
if object_id('[ta]') is not null drop table [ta]
go
create table [ta] ([姓名] varchar(4),[科目1] varchar(4),[科目2] varchar(4),[科目3] varchar(4),[科目4] varchar(4),[科目5] varchar(4),[成绩1] int,[成绩2] int,[成绩3] int,[成绩4] int,[成绩5] int)
insert into [ta]
select '张三','物理',null,'英语',null,'地理',66,null,77,null,45 union all
select '李四',null,'物理','数学',null,'历史',null,55,85,null,76
select * from [ta]
select 姓名,科目1,成绩1
from ta
where 科目1 is not null
union
select 姓名,科目2,成绩2
from ta
where 科目2 is not null
union
select 姓名,科目3,成绩3
from ta
where 科目3 is not null
union
select 姓名,科目4,成绩4