【问题标题】:Dynamic Order By clause with column and sort information coming from a table?带有来自表的列和排序信息的动态排序依据子句?
【发布时间】:2019-01-27 00:50:22
【问题描述】:

我已经尝试过这个(来自这个post),但它似乎不起作用:

ORDER BY ISNULL(STUFF((SELECT ', ' + cs.ColumnName + ' ' +  cs.ColumnSort
                    FROM #ColumnSort cs
            FOR XML PATH('')), 1, 2, ''),NULL)

这样的事情可能吗?还是整个查询都必须是动态 SQL?

我确保列名具有正确的别名,因此方案或表名不必包含在 ColumnName 字段中。

【问题讨论】:

  • 这将按某种带有列名的非常奇怪的字符串进行排序。如果您想要列中的 ,则需要动态 SQL。
  • @GordonLinoff,我就是这么想的。
  • 我也对您使用 ISNULL 和 NULL 作为第二个参数感到困惑。这不是有效的无操作吗?

标签: sql sql-server sql-server-2005 sql-server-2016


【解决方案1】:

这仅在您使用动态 SQL 时才有效。我无法让它按原样工作。

【讨论】:

    猜你喜欢
    • 2017-05-07
    • 2021-04-07
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多