多级查找???
zoexy 2004-08-06 11:01:28 TableA 表结构:
AID parentID level 均为数值型
1 0 1
2 1 2
3 0 1
4 2 3
。。。。。。(多级)
TableB 表结构
ID AID price
1 1 2.0
2 3 1.0
3 4 2.0
4 2 3.0
...........(AID 表示类别ID即TableA表中AID)
现在我要求当从TableB查找某一AID时能同时查找到他所有的下级ID(包含本级)在TableB中的价格。
如:我查找TableB中AID=1,则得出的结果是:
ID AID price
1 1 2.0
3 4 2.0
4 2 3.0
但当查找TableB中AID=2,则得出的结果是:
ID AID price
3 4 2.0
4 2 3.0
但当查找TableB中AID=3,则得出的结果是:
ID AID price
2 3 1.0
但当查找TableB中AID=4,则得出的结果是:
ID AID price
3 4 2.0
level级别不可预测有多少级,我该怎么做呢?有人说用递归算法,但是我不会,请各位帮帮忙,有什么好办法可以查找呢?请给例句。谢谢大家!
因为在我的系统中多次用到此程序,所以我想做一个通用的。以下是我的思路,但是小妹才学梳浅,希望高人能帮完成。。
AID=request("AID")
Sub ListSub(AID)
sqlTableB="select * from TableB where AID='"&AID&"'"
set rsTableB = con.execute(sqlTableB)
( 如何将这里的值存起来,待递归完成后一起用do while not rsTableB.eof 显示出来呢,请帮忙。。。)
sqlTableA="select AID from TableA where parentID='"&AID&"'"
set rsTableA = con.execute(sqlTableA)
if not rsTableA.eof and rsTableA.bof then
ListSubPower(rsTableA("AID"))
end if
请帮忙将以上程序修改完整,谢谢大家!