SELECT * FROM
(
(SELECT DISTINCT( r.MenuId ) AS MenuId
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d'))
UNION
(SELECT ParentId AS MenuId
FROM Settings_Catalog
WHERE MenuId IN (SELECT DISTINCT( r.MenuId )
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d')))
UNION
(SELECT parentid AS MenuId
FROM Settings_Catalog
WHERE MenuId IN (SELECT parentid
FROM Settings_Catalog
WHERE MenuId IN (SELECT DISTINCT( r.MenuId )
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d'))))
) tt1
LEFT JOIN Settings_Catalog catname
ON tt1.MenuId = catname.Menuid
WHERE catname.Parentid = 9000
AND catname.MenuEnable = 1
ORDER BY catname.Idx;
(
(SELECT DISTINCT( r.MenuId ) AS MenuId
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d'))
UNION
(SELECT ParentId AS MenuId
FROM Settings_Catalog
WHERE MenuId IN (SELECT DISTINCT( r.MenuId )
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d')))
UNION
(SELECT parentid AS MenuId
FROM Settings_Catalog
WHERE MenuId IN (SELECT parentid
FROM Settings_Catalog
WHERE MenuId IN (SELECT DISTINCT( r.MenuId )
FROM Privilege_RolesAuthority r
WHERE r.RoleID IN (SELECT u.RoleId
FROM aspnet_UsersInRoles u
WHERE u.UserId = 'dd65768b-935f-464c-b4f1-d1421e408c0d'))))
) tt1
LEFT JOIN Settings_Catalog catname
ON tt1.MenuId = catname.Menuid
WHERE catname.Parentid = 9000
AND catname.MenuEnable = 1
ORDER BY catname.Idx;