请教一个查询问题

Jofan 2008-03-10 04:22:54
有表 tabela
有两列数据,no1为部门,按前三位区分;no2列按前三位区分以001结尾的为上级,其它为下属,我相查出的结果多出一列,能知道非001结尾的上级是谁。
请前辈赐教。

no1 no2
100100 1001001
100100 1001002
100100 1001003
100100 1001004
100200 1002001
100200 1002002
...

希望查出结果为

no1 no2 no3
100100 1001001
100100 1001002 1001001
100100 1001003 1001001
100100 1001004 1001001
100200 1002001
100200 1002002 1002001
...
...全文
31 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chuifengde 2008-03-10
select *,no3=case when right(no2,3)='001' then '' 
else (select no2 from [Table] where no1=a.no1 and right(no2,3)='001') end
from [Table] a
回复
深渊的水影 2008-03-10
select no1, no2, case right(no2,3) when '001' then '' else left(no2,len(no2)-1) + '1' end
from table
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-10 04:22
社区公告
暂无公告