我现在递归查询出来了所有的节点,但是我想让他们在一排显示,1级对应2级三级在一行显示,请问有办法吗,谢谢
上面的结果想显示出来的结果是:
实用工具-易ERP流程实例统计
实用工具-易ERP业务单据统计
WITH cte
AS ( SELECT NodeID ,
ParentID ,
Text
FROM dbo.T_MGT_SapMenuItem
WHERE ParentID = 'ZJ_T'
AND DeleteFlag = 0
UNION ALL
SELECT g1.NodeID ,
g1.ParentID ,
g1.Text
FROM dbo.T_MGT_SapMenuItem g1
INNER JOIN cte ON g1.ParentID = cte.NodeID
WHERE g1.DeleteFlag = 0
)
SELECT * FROM cte
如果你这是在一张表里面的话,你可以多关联几下,select t1.text,t2.text from a t1 join a t2 on t1.NodeID=t2.ParentID
如果级数固定的话不妨在查出来后手动把一级二级三级拼成一个对象,一个sql搞定的话,估计sql也很复杂,有这个功夫用java早就写完了