数据表结构:姓名 车型a 法拉利
a 保时捷
a 兰博基尼
b 路虎
b 大众
b 宾利
b 宝马
b 奔驰用一条SQL语句查询出如下结果:姓名 车型1 车型2 车型3 车型4 车型5
a 法拉利 保时捷 兰博基尼
b 路虎 大众 宾利 宝马 奔驰
a 保时捷
a 兰博基尼
b 路虎
b 大众
b 宾利
b 宝马
b 奔驰用一条SQL语句查询出如下结果:姓名 车型1 车型2 车型3 车型4 车型5
a 法拉利 保时捷 兰博基尼
b 路虎 大众 宾利 宝马 奔驰
解决方案 »
- 指定某个软件能访问SQL,如何实现
- 如何测试sqlserver数据库压力?
- 在存储过程中建立数组
- 两个表导入数据问题
- SQL中定义公式问题-----------十分紧张,在线等.麻烦了
- 如何查询出当前数据表主健有无被其他数据作为外健
- select count(*) from syscolumns where object_name(id)='表名' 为什么 提示table or view does not exist?
- 拜请高手解决 SQL WITH CTE
- 菜鸟问题:sql server中怎样插入<null>值……
- 怎样用query动态调用sql server的带参数的存储过程
- 有没有不受事务影响的情况下对某一个表进行修改的操作?
- 【求解】多表查询相关
create table lis
(姓名 varchar(3), 车型 varchar(10))insert into lis
select 'a', '法拉利' union all
select 'a', '保时捷' union all
select 'a', '兰博基尼' union all
select 'b', '路虎' union all
select 'b', '大众' union all
select 'b', '宾利' union all
select 'b', '宝马' union all
select 'b', '奔驰'
select 姓名,
isnull([1],'') 车型1,
isnull([2],'') 车型2,
isnull([3],'') 车型3,
isnull([4],'') 车型4,
isnull([5],'') 车型5
from
(select 姓名,车型,
row_number() over(partition by 姓名 order by getdate()) rn
from lis) a
pivot(max(车型) for rn in ([1],[2],[3],[4],[5])) b
姓名 车型1 车型2 车型3 车型4 车型5
---- ---------- ---------- ---------- ---------- ----------
a 法拉利 保时捷 兰博基尼
b 路虎 大众 宾利 宝马 奔驰(2 row(s) affected)