我试图将树结构克隆到另一个表,但是问题是原始表的GUID为ParentId和Id,而我要克隆的新表或表的int为ParentId和Id。我正在尝试找到解决方案,因此欢迎任何帮助 我尝试了下一个解决方案,但不幸的是无法正常工作
<a href=...>
如果不可能通过单个查询完成此操作,那么由于数据量较大,任何其他解决方案都可以用光标:)接受
这里是Sample,因此查询(SP)的输出应为树结构,其中int-s为Id,ParentId
答案 0 :(得分:3)
如何?
;with cte as
(
select row_number() over(order by id) rn, *
from tableA
)
select c1.rn id, c2.rn parentid, c1.name
from cte c1
left join cte c2 on c1.parentid = c2.id
或者您可以简单地使用checksum()
函数:
select checksum(id) id, checksum(parentid) parentid, name
from tableA
请注意,第二种方法可能会导致碰撞。