首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL有关问题,各位老师来看看

2012-05-04 
SQL问题,各位老师来看看。数据表结构:姓名车型a法拉利a保时捷a兰博基尼b路虎b大众b宾利b宝马b奔驰用一条SQL

SQL问题,各位老师来看看。
数据表结构:

姓名 车型

a 法拉利
a 保时捷
a 兰博基尼
b 路虎
b 大众
b 宾利
b 宝马
b 奔驰

用一条SQL语句查询出如下结果:

姓名 车型1 车型2 车型3 车型4 车型5
a 法拉利 保时捷 兰博基尼  
b 路虎 大众 宾利 宝马 奔驰

[解决办法]
行列转换怎么这么多?
[解决办法]

SQL code
create table lis(姓名 varchar(3), 车型 varchar(10))insert into lisselect 'a', '法拉利' union allselect 'a', '保时捷' union allselect 'a', '兰博基尼' union allselect 'b', '路虎' union allselect 'b', '大众' union allselect 'b', '宾利' union allselect 'b', '宝马' union allselect 'b', '奔驰'select 姓名,isnull([1],'') 车型1,isnull([2],'') 车型2,isnull([3],'') 车型3,isnull([4],'') 车型4,isnull([5],'') 车型5from(select 姓名,车型,row_number() over(partition by 姓名 order by getdate()) rnfrom lis) apivot(max(车型) for rn in ([1],[2],[3],[4],[5])) b姓名   车型1       车型2        车型3      车型4      车型5---- ---------- ---------- ---------- ---------- ----------a    法拉利        保时捷        兰博基尼                  b    路虎          大众          宾利         宝马         奔驰(2 row(s) affected) 

热点排行