How to transform vertical data into horizontal data with SQL?

У меня есть таблица «Элемент» с рядом связанных элементов, например:

ID   Rel_ID  Name  RelRank
---  ------  ----  -------
1    1       foo   1
2    1       bar   2
3    1       zam   3
4    2       foo2  1

Я пытаюсь получить запрос, чтобы элементы с одинаковым Rel_ID отображались в одной строке, примерно так:

Rel_ID  Name1  Name2  Name3
------  -----  -----  -----
1       foo    bar    zam
2       foo2

Я пытался выбрать таблицу несколько раз:

SELECT k.Rel_ID, k.name 'Name1', k2.name 'Name2'
FROM item k, item k2
WHERE k.Rel_ID = k2.Rel_ID

Но это не удалось. Конечно, есть преобразование или запрос, которые могут значительно упростить процесс, и мне просто не хватает этого, потому что я раньше не использовал SQL таким образом. Что мне не хватает?

[Edit: added RelRank column, which does appear in my data]

18
задан Dan 1 November 2010 в 18:34
поделиться