Я хочу реализовать простой запрос SQL, который будет возвращать отсортированный список. Проблема в том, что я получаю синтаксические ошибки для размещения предложения ORDER BY
в любом месте, где я его поместил.
SELECT
fr.FunctionRoleID, fr.FunctionRoleInternalName
FROM
users u
JOIN
UserRoles ur ON ur.UserID = u.UserID
JOIN
Roles_FunctionRoles rfr ON rfr.RoleID = ur.RoleID
JOIN
FunctionRoles fr ON fr.FunctionRoleID = rfr.FunctionRoleID
WHERE
u.UserName = @UserName
AND u.Active = 1
UNION
SELECT
fr.FunctionRoleID, fr.FunctionRoleInternalName
FROM
Roles r
JOIN
Roles_FunctionRoles rfr ON rfr.RoleID = r.RoleID
JOIN
FunctionRoles fr ON fr.FunctionRoleID = rfr.FunctionRoleID
WHERE
r.RoleName = 'Authenticated Users'
AND @UserName IS NOT NULL
AND LEN(@UserName) > 0
Что я хочу вставить:
ORDER BY fr.DisplayName ASC
EDIT
Если я создаю подзапрос, используя
SELECT *
FROM
(
[my initial query]
)
ORDER BY
[COLUMN NAME] ASC
Я получаю следующее сообщение об ошибке:
Неверный синтаксис рядом с 'ЗАКАЗАТЬ'. Ожидаемый 'AS', 'ID' или 'QUOTED_id'