以下是引用关键下一秒在2015-2-4 9:23:00的发言:
http://blog.163.com/lickly_loe/blog/static/1126448620140105510784/
是BOM的低阶码计算,谢谢!
如果只是1表到3表的话,还是比较简单,SQL2005以上的数据库轻松解决。
代码如下
declare @ID nvarchar(32)
with cte as (
s elect * , 1 As 层次号 from A where 父ID = @ID
Union All
S elect A.*,cte.层次号 + 1 as 层次号 from A inner join cte on A.父ID = cte.子ID
)
s elect * from cte
以上代码即可完成1表到3表,具体请参考公用表表达式,细节请自己修改吧。