Ряды показа рядом, вид стержня - PullRequest
0 голосов
/ 24 сентября 2011

У меня есть такая таблица

Column1 | Column2
-------------------
A       | 1
A       | 2
A       | 3
B       | 4
B       | 5
B       | 3
C       | 2
C       | 2
C       | 2
D       | 7
D       | 8
D       | 9

Я хочу вывести его как

A  |  B  |  C  |  D
--------------------
1  |  4  |  2  |  7
2  |  5  |  2  |  8
3  |  3  |  2  |  9

У него будут фиксированные строки / столбцы, такие как A, B, C, D. Не могли бы вы предложить запрос в SQL Server 2005/2008?

1 Ответ

1 голос
/ 24 сентября 2011

лучше знать ваш кластеризованный ключ в таблице, так как после результата порядок может отличаться.Мартин прав, попробуйте это, это поможет вам начать:

SELECT pvt.A,
       pvt.B,
       pvt.C,
       pvt.D
FROM   (SELECT *,
               row=ROW_NUMBER() OVER(PARTITION BY Column1 ORDER BY (SELECT 1))
        FROM   yourtable) AS A 
        PIVOT (MIN(Column2) FOR Column1 IN ([A], [B], [C], [D]))
       AS pvt 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...