取得一级类别,二级类别

luyesql 2008-05-22 09:19:39
表结构
编号 类别名称 父类 路径
bh kz01 kz02 kz03
1 一级名称 0 0
2 二级名称 1 0,1
3 三级名称 2 0,2
现在想显示成如下
bh kz01 kz02 kz03 first second third
1 一级名称 0 0 NULL NULL NULL
2 二级名称 1 0,1 一级名称 NULL NULL
3 三级名称 2 0,2 一级名称 二级名称 NULL


该如何写呢?


...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaJiaBing 2008-05-22
  • 打赏
  • 举报
回复
建一个主表分主目录,再建一个子表放子目录。对应相对的主目录。用id连接。
Herb2 2008-05-22
  • 打赏
  • 举报
回复

/******************************************************************************/
/*回复:20080522001总:00043 */
/*主题:路径名称 */
/*作者:二等草 */
/******************************************************************************/

set nocount on

--数据--------------------------------------------------------------------------

create table [tb] ([bh] int,[kz01] varchar(8),[kz02] int,[kz03] varchar(10))
insert into [tb] select 1,'一级名称',0,'0'
insert into [tb] select 2,'二级名称',1,'0,1'
insert into [tb] select 3,'三级名称',2,'0,1,2'
go

--代码--------------------------------------------------------------------------
create function getn(@d varchar(10),@i int)
returns varchar(10)
as
begin
declare @j int,@s varchar(10)
if charindex(',',@d) = 0 return NULL
select @d = @d+',',@j = 1
while @j <= @i and @d <> ''
begin
select @d = right(@d,len(@d)-charindex(',',@d))
set @j = @j + 1
end
if @d ='' return null
set @d = left(@d,charindex(',',@d)-1)
select @s = kz01 from tb where bh = @d
return @s
end
go
select bh,kz01,kz02,kz03
,first = dbo.getn(kz03,1)
,second = dbo.getn(kz03,2)
,third = dbo.getn(kz03,3)

from tb a
go

/*结果--------------------------------------------------------------------------
bh kz01 kz02 kz03 first second third
----------- -------- ----------- ---------- ---------- ---------- ----------
1 一级名称 0 0 NULL NULL NULL
2 二级名称 1 0,1 一级名称 NULL NULL
3 三级名称 2 0,1,2 一级名称 二级名称 NULL

--清除------------------------------------------------------------------------*/
drop function getn
go
drop table tb
luyesql 2008-05-22
  • 打赏
  • 举报
回复
恩,好的.谢谢昨夜小楼
Limpire 2008-05-22
  • 打赏
  • 举报
回复
象路径那样,返回各名称路径就行了,你这样很难搞的
luyesql 2008-05-22
  • 打赏
  • 举报
回复
更改一下
表结构 是这样子的
编号 类别名称 父类 路径
bh kz01 kz02 kz03
1 一级名称 0 0
2 二级名称 1 0,1
3 三级名称 2 0,1,2
luyesql 2008-05-22
  • 打赏
  • 举报
回复
我只要三级就可以了,其它级不要
Limpire 2008-05-22
  • 打赏
  • 举报
回复
无限级呢,有多少个字段够你放?
内容概要:本文围绕基于PI双闭环解耦控制的三相电压型PWM整流器在第四象限运行的仿真研究展开,重点分析其在电流反向流动工况下的控制性能。通过Simulink搭建系统模型,采用电压外环与电流内环构成的双闭环PI控制策略,并引入d-q轴解耦环节以消除交叉耦合影响,实现对整流器在能量回馈状态下的高精度、稳定控制。研究涵盖了系统数学建模、控制器参数设计、解耦算法实现及动态响应仿真验证,充分展示了该控制方法在抑制扰动、提升系统鲁棒性方面的有效性。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员及从事新能源变流器、电能质量治理或工业传动系统开发的工程技术人员;具备自动控制理论基础和Simulink仿真能力者更佳。; 使用场景及目标:①深入掌握三相电压型PWM整流器的工作原理及其在不同运行象限的能量流动特性;②理解并实践PI双闭环控制系统的设计思路与参数整定方法;③学习d-q坐标系下电流解耦控制的实现机制;④熟练运用Simulink进行电力电子系统建模与仿真分析;⑤为实际工程中实现高效能量双向变换提供理论依据与技术参考。; 阅读建议:建议结合Simulink环境同步搭建模型,细致分析各模块的信号流向与控制逻辑,重点关注电流内环的动态跟踪能力和电压外环的稳态调节性能,可通过改变负载突变、电网电压波动等条件进行对比实验,进一步评估系统的抗干扰能力与稳定性表现。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧