BOM(父项子项)节点展开
来源:互联网 发布:mac储存空间正在计算 编辑:程序博客网 时间:2024/06/06 02:49
数据表:
id parentId sortName
----------- ----------- ----------
1 0 A
2 0 B
3 1 AA
4 3 AAA
5 4 AAAA
6 2 BB
能不能通过SQl直接得到这样的结果
id Sort_Description
1 A
2 B
3 A-AA
4 A-AA-AAA
5 A-AA-AAA-AAAA
6 B-BB
--> 生成测试数据表: [tb] IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb] GO CREATE TABLE tb ( id INT, parentId INT, sortName VARCHAR(10) ) INSERT INTO tb SELECT 1, '0', 'A' UNION ALL SELECT 2, '0', 'B' UNION ALL SELECT 3, '1', 'AA' UNION ALL SELECT 4, '3', 'AAA' UNION ALL SELECT 5, '4', 'AAAA' UNION ALL SELECT 6, '2', 'BB' GO --> SQL查询如下: IF OBJECT_ID('dbo.f_str')>0 DROP FUNCTION dbo.f_str GO CREATE FUNCTION dbo.f_str ( @id INT ) RETURNS VARCHAR(1000) AS BEGIN DECLARE @parentId INT, @s VARCHAR(1000) WHILE EXISTS( SELECT 1 FROM tb WHERE id = @id ) BEGIN SELECT @s = sortname+ISNULL('-'+@s, ''), @parentId = parentid FROM tb WHERE id = @id SET @id = @parentId END RETURN @s END GO SELECT *, dbo.f_str(id) Sort_Description FROM tb /* id parentId sortName Sort_Description ----------- ----------- ---------- ---------------------------- 1 0 A A 2 0 B B 3 1 AA A-AA 4 3 AAA A-AA-AAA 5 4 AAAA A-AA-AAA-AAAA 6 2 BB B-BB (6 行受影响) */
- BOM(父项子项)节点展开
- BOM树形节点展开实例
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- 展开BOM
- Blue Pill源代码分析(2)
- Application.Close
- 为设计师和开发者准备的16款Adobe AIR程序
- 面向服务架构(SOA)的原则
- ASP.NET配置文件Web.config 详细解释
- BOM(父项子项)节点展开
- RFC双语计划:rfc975中文版(中英文对照)............自治联邦
- 无法定位程序输入点sysgth.COMResModuleInstance于动态连接库COMRes.dll上
- swing 绝对布局的使用
- ASP.NET2.0-防止同一用户同时登陆
- 传智播客Spring2.5视频教程_编码剖析Spring依赖注入的原理 4
- 菜鸟下载网上视频秘笈
- ORACLE 学习拾遗
- Web应用程序的整体测试