我是SQL的初学者。我正在研究如何使用ms sql r2 2008管理分层数据。这是我参考的链接: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ 但是现在我在“查找节点深度”方面遇到了问题。我将SQL查询复制到我的MS SQL中。
SELECT CONCAT( REPEAT(' ', COUNT(parent.name) - 1), node.name) AS name
FROM nested_category AS node, nested_category AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node.name
ORDER BY node.lft;
它返回给我
消息195,级别15,状态10,行1:'REPEAT'不是已知的内置函数名称。
请有人帮忙纠正SQL查询吗?
此外,有没有更好的解决方案来管理分层数据?
REPLICATE()
而不是REPEAT()
。 - Filip De VosSELECT REPLICATE(' ', COUNT(parent.name) - 1) + node.name AS NAME
。 - Filip De Vos