create view vi_tong
as
select 部门,姓名,
case when 类型=1 then 出生年月 else '' end as 类型1出生年月,
case when 类型=2 then 出生年月 else '' end as 类型2出生年月
from tablename
go
as
select 部门,姓名,
case when 类型=1 then 出生年月 else '' end as 类型1出生年月,
case when 类型=2 then 出生年月 else '' end as 类型2出生年月
from tablename
go
create table A
(
[部门] varchar(10),
[姓名] varchar(10),
[类型] int,
[出生年月] int
)insert A
select 'A','李静',1,2 union
select 'B','王冠',2,5 union
select 'A','李静',1,7
--创建视图
create view v
as
select [部门],[姓名],
[类型1出生年月]=(case when [类型]=1 then convert(varchar,[出生年月]) else '' end),
[类型2出生年月]=(case when [类型]=2 then convert(varchar,[出生年月]) else '' end)
from A
goselect * from v--删除测试环境
drop table A
drop view v--结果
/*
部门 姓名 类型1出生年月 类型2出生年月
---------- ---------- ------------------------------ -------
A 李静 2
A 李静 7
B 王冠 5(所影响的行数为 3 行)
*/