【发布时间】:2014-03-08 15:23:11
【问题描述】:
我正在使用以下 SELECT 从数据库中获取数据。
有没有办法按嵌套选择中的项目对结果进行排序?
我试过 ORDER BY B.ID 但这会产生错误。
我的存储过程:
SELECT (
SELECT B.ID,
B.FirstName,
B.LastName
FROM Users B
WHERE B.UserNum = A.UserNum
FOR XML PATH(''), ELEMENTS, TYPE
)
FROM User_SolutionRole A
WHERE A.Solution = 'SPR'
FOR XML PATH('users'), ELEMENTS, TYPE, ROOT('ranks')
【问题讨论】:
-
ORDER BY 该列的编号
ORDER BY 1 -
谢谢,我在尝试此操作时遇到错误:消息 305,级别 16,状态 1,过程 FetchUsersAll,第 23 行 XML 数据类型无法比较或排序,除非使用 IS NULL 运算符。
-
试试
ORDER BY CAST(B.ID AS NVARCHAR(100)) -
否:消息 4104,级别 16,状态 1,过程 FetchUsersAll,第 23 行无法绑定多部分标识符“B.ID”。
-
然后我得到:Msg 207,Level 16,State 1,Procedure FetchUsersAll,Line 23 Invalid column name 'ID'。
标签: sql sql-server sql-order-by