Нужна помощь с Pivot для этой таблицы SQL Server - PullRequest
1 голос
/ 15 июля 2011

У меня есть таблица со следующей структурой

uid  sid  eid   Key     value
1    1     1   F.Name   Simon 
2    1     1   L.Name   Jones
3    1     1   C.Name   AAPL
4    1     1   Address  Infinite
5    2     1   F.Name   Brad
6    2     1   L.Name   Pitt
7    2     1   C.Name   Holly
8    2     1   Address  LA

Я хотел бы преобразовать приведенную выше таблицу в формат ниже

sid  F.Name  L.Name  C.Name  Address
1    Simon   Jones   AAPL    Infinite
2    Brad    Pitt    Holly   LA

В основном мне нужны значения столбца "Ключ" длябыть полями столбца в новой таблице.У меня нет другого стола.Даже Linq to sql в порядке, и я могу это понять.

1 Ответ

1 голос
/ 15 июля 2011

В 2005 и позже:

SELECT  *
FROM    (
        SELECT  sid, key, value
        FROM    mytable
        ) q
PIVOT   (
        MIN(value)
        FOR
        key IN ([F.Name], [L.Name], [C.Name], [Address])
        ) p
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...