日期:2014-05-16 浏览次数:20501 次
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2014-03-12 15:38:34
-- Verstion:
-- Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([集数] varchar(5),[词语] varchar(6),[出现次数] int)
insert [tb]
select '第1集','人物',37 union all
select '第1集','有些',35 union all
select '第1集','白天',35 union all
select '第2集','担心',3 union all
select '第2集','放开',3 union all
select '第2集','不行',3 union all
select '第3集','超数',2 union all
select '第3集','程度',2 union all
select '第3集','穿衣服',2 union all
select '第3集','拜拜',2
--------------开始查询--------------------------
;WITH f AS
(
SELECT px=ROW_NUMBER()OVER(PARTITION BY 集数 ORDER BY GETDATE()),* FROM tb
)
SELECT
px,
MAX(CASE WHEN 集数='第1集' THEN 词语+LTRIM(出现次数) ELSE NULL END) AS 第1集,
MAX(CASE WHEN 集数='第2集' THEN 词语+LTRIM(出现次数) ELSE NULL END) AS 第2集