Vielleicht findet sich hier ein MSSQL-Checker der mir helfen kann folgende Anfrage zum Auslesen einer Baumstruktur in MSSQL Syntax umzusetzen:
$sqlstring = 'SELECT p1.id_page AS id,
p1.menutitle,
p1.urlpart,
IF ( p1.id_page = 1,
round( (p1.rgt - 2) / 2, 0),
round( ( (p1.rgt - p1.lft - 1) / 2), 0)) AS children,
COUNT( * ) AS LEVEL
FROM page AS p1, page AS p2
WHERE p1.lft
BETWEEN p2.lft
AND p2.rgt
GROUP BY p1.lft
HAVING p1.id_page
IN (
SELECT DISTINCT page_id_page
FROM page_has_groups AS phg
WHERE phg.groups_id_group IN ( ? )) ';
Anmerkung: die ? sind nur wegen prepared statements…