如何把一张表的内容竖着排列??

sunchunfeng7 2013-03-02 11:01:53
table1 有字段:姓名,科目,分数
table2 有字段:name,语文,数学,英语
求将将表1值插入并创建表2的语句
---=---表1------
姓名 科目 分数
张三 语文 99
张三 英语 97
张三 数学 98
李四 语文 96
李四 数学 95
李四 英语 94
---=---表2------
name 语文 英语 数学
张三 99 97 98
李四 96 95 94
...全文
277 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunchunfeng7 2013-03-06
  • 打赏
  • 举报
回复
谢谢各位,,STkiRa回答的很好
Mr_Nice 2013-03-04
  • 打赏
  • 举报
回复
参考这里面的行列转换
STkiRa 2013-03-04
  • 打赏
  • 举报
回复
哎 手滑在最后的语文数学英语前多打了个逗号
STkiRa 2013-03-04
  • 打赏
  • 举报
回复

select 姓名,
max(case when 科目='语文' then 分数 else 0 end),语文,
max(case when 科目='数学' then 分数 else 0 end),数学,
max(case when 科目='英语' then 分数 else 0 end),英语
FROM 表1
GROUP BY 姓名

  • 打赏
  • 举报
回复
declare @sql nvarchar(1000)
select @sql=isnull(@sql,'')+',max(case when 科目='''+科目+''' then 分数 else 0 end)['+科目+']' from (select distinct 科目 from tb)t order by 科目 desc
exec('select 姓名'+@sql+' from tb group by 姓名 order by 姓名 desc')

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧