【发布时间】:2009-07-02 16:16:35
【问题描述】:
我有一个表格(实际上是表格变量),其中包含数千行(大约 50k)行:
group (int) isok (bit) x y
20 0 1 1
20 1 2 1
20 1 3 1
20 0 1 2
20 0 2 1
21 1 1 1
21 0 2 1
21 1 3 1
21 0 1 2
21 1 2 2
将其拉回客户端是一项相当艰巨的任务(特别是因为 isok 有点)。我想做的是将其转换为以下形式:
group mask
20 01100
21 10101
而且可能会更进一步,将其编码为长等。
注意:当前存储数据的方式无法更改。
在 SQL Server 2005 中是否可能出现这种情况,如果可能的话,甚至在 2000 中(非常重要)?
编辑:我忘了说清楚原始表已经处于需要维护的隐式排序中,没有一列充当线性序列,而是排序是基于上述其他两列(整数)(x & y)
【问题讨论】:
-
是否有一列对位进行排序?因为没有一个就不能保证您的订单,如果订单很重要,您的口罩将失效。
-
很抱歉应该说清楚并将编辑 - 该表是为了开始,但目前没有列具有简单的线性序列。
-
没有“按顺序”的表,这是 SQL,而不是某些 ISAM 文件。您必须有一个订单列。期间。
标签: sql sql-server database encoding pivot