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

这种列转置为行如何写

2012-08-01 
这种列转置为行怎么写?名称类型金额张三A10张三B11张三C12张三C13张三D14李四A15转置为:名称ABCD张三10112

这种列转置为行怎么写?
名称类型金额
张三A10
张三B11
张三C12
张三C13
张三D14
李四A15


转置为:

名称ABCD
张三10112514
李四15


[解决办法]

SQL code
------------------------------ Author  :fredrickhu(小F,向高手学习)-- Date    :2012-07-19 09:34:51-- Version:--      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86) --    Apr 22 2011 11:57:00 --    Copyright (c) Microsoft Corporation--    Enterprise Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)--------------------------------> 测试数据:[tb]if object_id('[tb]') is not null drop table [tb]go create table [tb]([名称] varchar(4),[类型] varchar(1),[金额] int)insert [tb]select '张三','A',10 union allselect '张三','B',11 union allselect '张三','C',12 union allselect '张三','C',13 union allselect '张三','D',14 union allselect '李四','A',15--------------开始查询--------------------------select * from [tb] pivot (max(金额) for 类型 in (a,b,c,d)) b----------------结果----------------------------/* 名称   a           b           c           d---- ----------- ----------- ----------- -----------李四   15          NULL        NULL        NULL张三   10          11          13          14(2 行受影响)*/ 

热点排行