如何在UNIONS之间的SQL中放置ORDER BY子句

问题描述

| 我想实现将返回排序列表的简单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
编辑 如果我使用创建子查询
SELECT * 
FROM 
     (
     [my initial query]
     )
ORDER BY 
    [COLUMN NAME] ASC
我收到以下错误消息:   \'ORDER \'附近的语法不正确。预期的\'AS \',\'ID \'或\'QUOTED_id \'     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)