【发布时间】:2011-02-18 08:17:32
【问题描述】:
!!!警告!!!
亲爱的SQL专家,请继续阅读之前开始尖叫。 这个超级非规范化的表结构是 应用一些后获得 很好地标准化的组合糖 数据集:)。我避免 重新规范化这个结果集,因为我 想要保持简单完整 过程(也不会使用此数据 在应用程序的另一个位置)。 (是的,Codd。我知道你在想什么)。
有五列包含数值
A | B | C | D | E
-------------------
2 | 3 | 4 | 1 | 5
3 | 6 | 1 | 5 | 4
4 | 5 | 7 | 1 | 3
我想在排序后获得值的串联:
ABCDE
-----------
1 2 3 4 5
1 3 4 5 6
1 3 4 5 7
最好的方法是什么?
【问题讨论】:
-
我不明白。 SQL 中的排序是按行完成的。您是否真的在尝试对列进行排序?因为这是严重设计缺陷的标志。
-
您可以在一组荒谬的 CASE 语句中写出 5 列排序...但我同意 @Aaronaught。
-
@AaronNaught 这个表结构是在对一组标准化数据应用一些组合糖后获得的:)。我避免重新规范化这个结果集,因为我想保持简单的过程(这些数据也不会在应用程序的其他地方使用:)
-
有时,对于这种奇怪的情况,在客户端执行处理比在 SQL Server 上更容易。您能否将排序转移到您的客户端应用程序中?
-
嗨 Juliet,不,在这种情况下应该在 SQL 端完成 :)
标签: sql sql-server sql-server-2008 sorting