注册 登录
编程论坛 SQL Server论坛

求助:SQL查询语句的级连显示

atian 发布于 2010-05-15 17:00, 1081 次点击
求助:

表结构如下:
代码(A)    名称(B)    上级代码(C)      级别(D)
1002         银行存款          0 表示无上级   1
1002001      工商银行          1002           2
1002001001   广东分行          1002001        3
1002001002   江西分行          1002001        3
1002002      农业银行          1002           2
1002002001   广东分行          1002002        3
1002002002   福建分行          1002002        3


如何写一SQL查询语句,得到这种效果:

输入A字段代码,B字段名称显示为多级的,例如

      A                      B

若输入:1002001      则显示为 银行存款-工商银行
若输入:1002002002   则显示为 银行存款-农业银行-福建分行
若输入:1002         则显示为银行存款
若输入:1002001001   则显示为银行存款-工商银行-广东分行

请贴相关代码。多谢。
5 回复
#2
aei1352010-05-17 09:35
SELECT TABLE.A,TABLE.B FROM TABLE WHERE TABLE.D=1
UNION ALL
select TABLE.A,TABLE1.B+'-'+TABLE.B from TABLE inner join TABLE TABLE1
on TABLE.C=TABLE1.A AND TABLE.D=2
UNION ALL
SELECT TABLE.A,TABLE2.B+'-'+TABLE1.B+'-'+TABLE.B FROM TABLE INNER JOIN TABLE TABLE1
ON TABLE.C=TABLE1.A
INNER JOIN TABLE TABLE2
ON TABLE1.C=TABLE2.A AND TABLE.D=3
#3
atian2010-05-18 19:31
我在ASP中调式不行。能否转到ASP版块中。
#4
aei1352010-05-19 08:44
你把它放入一个视图试试了,然后查询视图,不然贴段简单的ASP代码过来了
#5
atian2010-05-20 16:25
类似这样的

只有本站会员才能查看附件,请 登录
#6
aei1352010-05-21 09:47
我在中是没有问题的
1