日期:2014-05-18 浏览次数:20635 次
--> 测试数据:[tbl] if object_id('[tbl]') is not null drop table [tbl] create table [tbl]([khjl] varchar(4),[qd] varchar(8),[pq] varchar(8),[rq] int,[num] int) insert [tbl] select '张三','北京总部','华北地区',1995,4 union all select '李四','深圳总部','华南地区',1996,153 union all select '王五','上海总部','华东地区',1997,246 go declare @str varchar(max) set @str='' select @str=@str+','+'['+ltrim([rq])+']'+'=max(case when [rq]='+QUOTENAME([rq],'''') +' then [num] else 0 end)' from tbl group by [rq] exec('select [khjl],[qd],[pq]'+@str+' from tbl group by [khjl],[qd],[pq]') /* khjl qd pq 1995 1996 1997 李四 深圳总部 华南地区 0 153 0 王五 上海总部 华东地区 0 0 246 张三 北京总部 华北地区 4 0 0 */