日期:2014-05-18  浏览次数:20469 次

SQL递归查询级联多表的问题,求救...
三张表:
dep(部门)分别有字段
dep_id       dep_name     dep_up_id
1                   技术部               0
2                   市场部               0
3                 南岸市场             2
4                     南平                 3
5                   经开区               3

users(人员表)分别有字段
users_id       real_name       dep_id
1                           小李                 3
2                           小王                 4
3                           小张                 5

salary(工资表)分别有字段
salary_id         jiben           jintie       users_id       dep_id
1                           200                 100                 1                   3
2                           500                 100                 2                   4
3                           400                 100                 3                   5

问题:   当我在一个文本框里输入南岸市场的时候我需要在griview   or   DataGrid里显示出:
南岸市场       小李         200         100
南平               小王         500         100
经开区           小张         400         100

也就是说将父级的所有子级遍历出来然后还需要级联上两张表.
参考:
with   downdep(dep_id,dep_name,dep_up_id)  
AS  
(select   dep_id,dep_name,dep_up_id   from   dep   where   dep_name   like   '%南岸% '  
union   all  
select   a.dep_id,a.dep_name,a.dep_up_id   from   dep   A   inner   join   downdep   up   ON(A.dep_up_id=up.dep_id))  
select   *   from   downdep

这个递归查询结果为:
3         南岸市场       2
4             南平           3
5           经开区         3

我现在想再加上那两张表进去。恳求各位大侠的支持与帮助。


------解决方案---