请教一个sql选择出来数据显示的问题?
现在有一个字段,只有3个值,分别用0,1,2来代替的
我如果不想建新表的话,能不能在显示的时候显示对应的,
已处理,未处理,已经删除?
表:
姓名 标志
张三 1
李四 2
王五 0
在不添加新表的情况下,显示的时候显示下面的格式
姓名 标志
张三 已处理
李四 未处理
王五 已删除
[解决办法]
SELECT 姓名,CASE 标志 WHEN 1 THEN '已处理' WHEN 2 THEN '未处理' ELSE '已删除' END AS 标志FROM 表
[解决办法]
with tb as (
select '张三' name, 1 type union all
select '李四', 2 union all
select '王五', 0 )
select name 姓名,case when type=1 then '已处理' when type=2 then '未处理' when type=0 then '已删除' end 标志 from tb
[解决办法]
declare @T table([name] varchar(20),flag int)
insert into @T
select '张三',0 union all
select '李四',1 union all
select '王五',2
--已处理,未处理,已经删除?
select [name],case flag when 0 then '已处理' when 1 then '未处理' when 2 then '已经删除' end as flag from @T
name flag
-------------------- --------
张三 已处理
李四 未处理
王五 已经删除
[解决办法]
select [姓名],[标志]=case when [标志]=0 then N'已删除' when [标志]=1 then N'已处理' when [标志]=2 then N'未处理' else N'' endfrom 表