0

データベースのデータは 1 から 32 までです

1
2
3
4
5
-
-
32

次のように4列8行でデータを表示する必要があります

1     9     17  25
2     10    18  26
3     11    19  27
4     12    20  28
5     13    21  29
6     14    22  30
7     15    23  31
8     16    24  32

SQL Server 2005 を使用して、上記の形式で datatable のデータを表示したいのですが、マトリックス形式 (4X6) で表示するこの形式についてはわかりません。

4

1 に答える 1

1

これをチェックしてください

declare @numRows int = 8

 ;with cte as (
 select columnA X, row_number() over (order by columnA) rn
  from Table1
 )
 select c1.x A, c2.x B, c3.x C, c4.x D
  from cte c1 
 left join cte c2 on c1.rn = c2.rn-@numRows  
 left join cte c3 on c1.rn = c3.rn-(@numRows * 2)
 left join cte c4 on c1.rn = c4.rn-(@numRows * 3)
 where c1.rn <= @numRows
于 2013-11-05T06:55:25.097 に答える