110,534
社区成员
发帖
与我相关
我的任务
分享
use tempdb
go
if OBJECT_ID('t') is not null
drop table t
go
create table t(
姓名 nvarchar(10),
张三 nvarchar(10),
李四 nvarchar(10),
王五 nvarchar(10),
陈九 nvarchar(10),
赵七 nvarchar(10),
孙六 nvarchar(10)
)
go
insert into t values('销量达标','N','N','Y','Y','Y','Y');
insert into t values('质量达标','Y','N','N','N','N','N');
select * from t
/*
姓名 张三 李四 王五 陈九 赵七 孙六
销量达标 N N Y Y Y Y
质量达标 Y N N N N N
*/
go
select * from t unpivot ( [达标] for [姓名2] IN ([张三],[李四],[王五],[陈九],[赵七],[孙六])) up
/*
姓名 达标 姓名2
销量达标 N 张三
销量达标 N 李四
销量达标 Y 王五
销量达标 Y 陈九
销量达标 Y 赵七
销量达标 Y 孙六
质量达标 Y 张三
质量达标 N 李四
质量达标 N 王五
质量达标 N 陈九
质量达标 N 赵七
质量达标 N 孙六
*/
go
select * from (
select * from t unpivot ( [达标] for [姓名2] IN ([张三],[李四],[王五],[陈九],[赵七],[孙六])) up
) as tt
where tt.姓名='销量达标' and 达标='Y'
/*
姓名 达标 姓名2
销量达标 Y 王五
销量达标 Y 陈九
销量达标 Y 赵七
销量达标 Y 孙六
*/