- node, . str (x, 4) - 4 .
WITH TreePrinter(id, parent, path, prefix) AS
(
SELECT
PrimaryKey, ParentKey,
CAST(str(PrimaryKey,4) AS varchar(max)),
CAST('' AS varchar(max))
FROM YourTable
WHERE ParentKey IS NULL
UNION ALL
SELECT child.PrimaryKey, child.ParentKey,
CAST(parent.path+'/'+STR(child.PrimaryKey,4) AS varchar(max)),
CAST(parent.prefix+'-' AS varchar(max)),
FROM YourTable parent
INNER JOIN TreePrinter child ON child.id=parent.ParentKey
)
SELECT prefix+str(id) FROM TreePrinter
ORDER BY path