日期:2014-05-16  浏览次数:20649 次

求高手帮我把这些功能连起来
这个是SQL表1这个是根据上面的表生成的关系图。
我写了存储过程
ALTER PROCEDURE [dbo].[select_down]
@账号 varchar(50)
AS
begin 
with A as (
select * from 用户信息 where 上一级领导账号 = @账号
union all
select a.* from 用户信息 a join A b on a.上一级领导账号 = b.账号
)
select 账号 from A 
end
实现了根据登录的账号获取其全部下属的功能(比如我输入8得到了)
但是我怎么样才能实现这样的功能select *from XX表 where 账号 = (根据登录的账号获取其全部下属)括号中的内容我想用上面获取的存储过程结果代替(并成功执行),该怎么写,求高手指点!!!(我之前试着吧存储过程塞进去,但是失败了)

------解决方案--------------------
ALTER PROCEDURE [dbo].[select_down]
@账号 varchar(50)
AS
begin 
with A as (
select * from 用户信息 where 上一级领导账号 = @账号
union all
select a.* from 用户信息 a join A b on a.上一级领导账号 = b.账号
)
--select 账号 from A 改为:
select * from XX表 where 账号 in(select 账号 from A)
end

------解决方案--------------------
cmd.CommandText=with A as ( select * from 用户信息 where 上一级领导账号 = @账号 union allselect a.* from 用户信息 a join A b on a.上一级领导账号 = b.账号 ) select * from XX表 where 账号 in(select 账号 from A)