0

我有一个表格(实际上是表格变量),其中包含数千(大约 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

甚至可以通过将其编码为 long 等来更进一步。

注意:当前存储数据的方式无法更改。

在 SQL Server 2005 中是否可能出现这样的情况,如果可能的话,甚至是 2000 年(非常重要)?

编辑:我忘了说清楚原始表已经处于需要维护的隐式排序中,没有一列充当线性序列,而是排序基于上面的另外两列(整数) (x & y)

4

1 回答 1

2

您可以将位视为字符串('0','1')并部署此处描述的许多字符串聚合连接方法之一:http ://www.simple-talk.com/sql/t-sql-programming/连接-行-值-in-transact-sql/

于 2009-07-02T16:27:22.133 回答