34,593
社区成员
发帖
与我相关
我的任务
分享
id username pid
1 wang 0
2 li 0
3 xiao 1
4 zhao 2
--我想得到的结果
/*
username pid
超级 0
超级 0
xiao 1
zhao 2
*/
select username,case pid when '0' then '超级' end from table
create table tb(id int, username varchar(20), pid int)
insert into tb
select 1, 'wang', 0
union all select 2, 'li', 0
union all select 3, 'xiao', 1
union all select 4, 'zhao', 2
select id,username=case when pid=0 then '超级' else username end,pid from tb
/*
id username pid
----------------------
1 超级 0
2 超级 0
3 xiao 1
4 zhao 2
*/
drop table tb
---------------------------------
-- Author: liangCK 小梁
---------------------------------
--> 生成测试数据: @T
DECLARE @T TABLE (id INT,username VARCHAR(4),pid INT)
INSERT INTO @T
SELECT 1,'wang',0 UNION ALL
SELECT 2,'li',0 UNION ALL
SELECT 3,'xiao',1 UNION ALL
SELECT 4,'zhao',2
--SQL查询如下:
SELECT id,CASE WHEN PID=0 THEN '超级' ELSE userName END AS USERNAME
FROM @T
/*
id USERNAME
----------- --------
1 超级
2 超级
3 xiao
4 zhao
(4 行受影响)
*/