首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个sql选择出来数据显示的有关问题

2012-04-30 
请教一个sql选择出来数据显示的问题?现在有一个字段,只有3个值,分别用0,1,2来代替的我如果不想建新表的话,

请教一个sql选择出来数据显示的问题?
现在有一个字段,只有3个值,分别用0,1,2来代替的
我如果不想建新表的话,能不能在显示的时候显示对应的,

已处理,未处理,已经删除?

表:
姓名 标志
张三 1
李四 2 
王五 0

在不添加新表的情况下,显示的时候显示下面的格式

姓名 标志
张三 已处理
李四 未处理
王五 已删除





[解决办法]

SQL code
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
-------------------- --------
张三 已处理
李四 未处理
王五 已经删除
[解决办法]
SQL code
select [姓名],[标志]=case when [标志]=0 then N'已删除'                         when [标志]=1 then N'已处理'                         when [标志]=2 then N'未处理'                         else N'' endfrom 表 

热点排行