【问题标题】:How to sort record inside views in SQL Server 2008如何在 SQL Server 2008 中对视图内的记录进行排序
【发布时间】:2013-08-12 04:42:51
【问题描述】:

我在 SQL Server 2008 上的视图中进行排序时遇到问题。 请参考下图。

正如您在设计器中看到的那样,我已经对 Column SeqID(Int 数据类型)进行了排序,但是当我选择视图时,排序的列似乎不起作用。

有什么建议吗?

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    为什么需要对视图进行排序?视图就像一个表格,因此您可以在从中选择时对其进行排序:

    select * from V_APDoc order by SeqID DESC;
    

    【讨论】:

    • 是的,我知道这种解决方法,但我的要求不适合您的建议。我只以一种形式调用多个视图,这就是为什么我不能“硬编码” ORDER BY 子句。
    • 我不能接受你的回答,因为它不能满足我的问题,因为我说的是在视图中排序而不是在查询中。
    • 没问题。你不必接受我的回答。我只是分享我所知道的。正如下面@astander 所发布的,文档清楚地表明您正在尝试做一些不受支持的事情。祝你好运。
    • 微软在视图设计器中添加排序选项有点奇怪。这没有意义,顺便谢谢你,干杯!
    【解决方案2】:

    来自CREATE VIEW (Transact-SQL)

    ORDER BY 子句仅用于确定符合条件的行 由视图定义中的 TOP 或 OFFSET 子句返回。命令 BY 子句不保证查询视图时的有序结果, 除非在查询本身中也指定了 ORDER BY。

    如果您希望保证订购结果,则应始终从报价中指定排序顺序。

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 2016-01-13
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多