日期:2014-05-17 浏览次数:20444 次
----------------------------
-- Author :TravyLee(物是人非事事休,欲语泪先流!)
-- Date :2012-12-03 11:39:49
-- Version:
-- Microsoft SQL Server 2012 - 11.0.2100.60 (Intel X86)
-- Feb 10 2012 19:13:17
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------
--> 测试数据:[表A]
if object_id('[表A]') is not null drop table [表A]
go
create table [表A]
(
[ID] int,
[BRID] varchar(3),
[XM] varchar(4),
[LX] varchar(8),
[NR] varchar(10)
)
insert [表A]
select 1,'001','张三','是否死亡','是' union all
select 2,'001','张三','死亡原因','骤停' union all
select 3,'001','张三','死亡时间','2012-12-21' union all
select 4,'001','张三','死亡地点','家' union all
select 5,'002','张四','是否死亡','是' union all
select 6,'002','张四','死亡原因','骤停' union all
select 7,'002','张四','死亡时间','2012-12-21' union all
select 8,'002','张四','死亡地点','家'
go
/*
BRID XM 是否死亡 死亡原因 死亡时间 死亡地点
001 张三 是 骤停 2012-12-21 家
002 张四 是 骤停 2012-12-21 家
*/
select
BRID,
XM,
是否死亡=MAX(CASE WHEN [LX]='是否死亡' THEN [NR] ELSE '' END),
死亡原因=MAX(CASE WHEN [LX]='死亡原因' THEN [NR] ELSE '' END),
死亡时间=MAX(CASE WHEN [LX]='死亡时间' THEN [NR] ELSE '' END),
死亡地点=MAX(CASE WHEN [LX]='死亡地点' THEN [NR] ELSE '' END)
FROM
[表A]
GROUP BY
BRID,
XM
/*
BRID XM 是否死亡