
SQL SERVER 2008中用SQL语句如何实现将某列中的值添加到一行中?
源数据如下:姓名身份证号码所借书籍张三111111111111111111行业经济张三111111111111111111管理学张三111111111111111111贸...
源数据如下:
姓名 身份证号码 所借书籍
张三 111111111111111111 行业经济
张三 111111111111111111 管理学
张三 111111111111111111 贸易经济
经过SQL语句处理后,最终实现效果如下:
姓名 身份证号码 所借书籍1 所借书籍2 所借书籍3
张三 111111111111111111 行业经济 管理学 贸易经济
最好用SELECT语句在查询结果中实现,当然其他方式也可以。
有请大神降临帮小弟解惑! 展开
姓名 身份证号码 所借书籍
张三 111111111111111111 行业经济
张三 111111111111111111 管理学
张三 111111111111111111 贸易经济
经过SQL语句处理后,最终实现效果如下:
姓名 身份证号码 所借书籍1 所借书籍2 所借书籍3
张三 111111111111111111 行业经济 管理学 贸易经济
最好用SELECT语句在查询结果中实现,当然其他方式也可以。
有请大神降临帮小弟解惑! 展开
1个回答
展开全部
select 姓名,身份证号码,
Max(case when 所借书籍='行业经济' then 所借书籍 else ‘’ end) as 书籍1,
Max(case when 所借书籍='管理学' then 所借书籍 else ‘’ end) as 书籍2,
Max(case when 所借书籍='贸易经济' then 所借书籍 else ‘’ end) as 书籍3
from table_name
group by 姓名,身份证号码
;
max的结果显示不对的话换min
Max(case when 所借书籍='行业经济' then 所借书籍 else ‘’ end) as 书籍1,
Max(case when 所借书籍='管理学' then 所借书籍 else ‘’ end) as 书籍2,
Max(case when 所借书籍='贸易经济' then 所借书籍 else ‘’ end) as 书籍3
from table_name
group by 姓名,身份证号码
;
max的结果显示不对的话换min
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |