除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询...
生活随笔
收集整理的這篇文章主要介紹了
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
執行sql語句:
select * from (
select * from tab where ID>20 order by userID desc
) as a order by date desc
邏輯上看著挺對 但是報錯:
除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。
只要我們在嵌套子查詢視圖里面加入: top 100 percent 即可
select * from (
select?top 100 percent?* from tab where ID>20 order by userID desc
) as a order by date desc
默認情況下,如果在子查詢,函數,視圖中嘗試去使用ORDER BY,
CREATE VIEW dbo.VSortedOrders ASSELECT orderid, customerid FROM dbo.Orders ORDER BY orderid GO那么可能會遇到下面的錯誤
消息 1033,級別 15,狀態 1,第 4 行除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。 原因就是針對一個表的SELECT其實并不是返回一個表,而是一個游標。 ? 如果一定要用怎么辦呢?答案就是配合TOP 100 PERCENT SELECT TOP (100) PERCENT orderid, customerid FROM dbo.Orders ORDER BY orderid, customerid DESC總結
以上是生活随笔為你收集整理的除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ElasticSearch-.net平台
- 下一篇: 用正品烟的包装换上自己的烟丝,卖的比正品