我也遇到过这样的问题,你写sql语句的是就按照分类来查询,父id下紧跟的是子id,
sql语句可以实现的
sql语句可以实现的
解决方案 »
- 水印
- 100分,求一个js传值问题,在线等
- 请教asp.net 页面设置问题
- 简单问题怎样转换编码?
- AutoComplete中this的问题
- TextBox_Textchanged event外加javascript取datalist动态控件数据
- asp.net编译没有错误,提交表单后,没有反应
- 怎样获得向另一太服务器上的数据库写入数据的权限?立刻给分。
- 传值问题????
- 在javascript中怎么引用web控件listbox的当前选中的项,,,,还有怎么把他通过javascript,付值到textbox
- 有关开源程序Dropthings的问题。
- .net framework 2.0 下运行好好的,数据库正常连接;IIS为什么一改为1.1版本就出错了,说数据库连接不上?
--测试数据
DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10))
INSERT @t SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '005',NULL ,'四会市'
UNION ALL SELECT '006','005','清远市'
UNION ALL SELECT '007','006','小分市'--深度排序显示处理
--生成每个节点的编码累计(相同当单编号法的编码)
DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT ID,@Level,ID
FROM @t
WHERE PID IS NULL
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID
FROM @t a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END--显示结果
SELECT SPACE(b.Level*2)+'|--'+a.Name
FROM @t a,@t_Level b
WHERE a.ID=b.ID
ORDER BY b.Sort
/*--结果
|--山东省
|--烟台市
|--招远市
|--青岛市
|--四会市
|--清远市
|--小分市
--*/