2 sql-server asp.net sql-server-2005
我最近偶然发现了从1表中选择关系详细信息并插入另一个表的问题,我希望有人可以提供帮助.
我有一个表结构如下:
ID (PK) Name ParentID<br>
1 Myname 0<br>
2 nametwo 1<br>
3 namethree 2
Run Code Online (Sandbox Code Playgroud)
例如
这是我需要从中选择并获取所有关系数据的表.因为可以有无限数量的子链接(我可以为此创建一个函数来创建循环吗?)
然后,一旦我有所有数据,我需要插入到另一个表中,ID现在必须改变,因为id必须按顺序排列(例如,我不能将id"2"作为例如3的子),我希望我可以使用相同的功能来选择插入.
如果您使用的是SQL Server 2005或更高版本,则可以使用递归查询来获取信息.这是一个例子:
With tree (id, Name, ParentID, [level])
As (
Select id, Name, ParentID, 1
From [myTable]
Where ParentID = 0
Union All
Select child.id
,child.Name
,child.ParentID
,parent.[level] + 1 As [level]
From [myTable] As [child]
Inner Join [tree] As [parent]
On [child].ParentID = [parent].id)
Select * From [tree];
Run Code Online (Sandbox Code Playgroud)
此查询将以递归方式返回第一部分(Where ParentID = 0)和所有子行请求的行.这对你有帮助吗?
我不确定我是否理解你的插件会发生什么.完成后,您能否提供有关预期结果的更多信息?
祝好运!
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |