Сделайте однострочные данные в таблицу в SQL - PullRequest
0 голосов
/ 04 февраля 2010

Есть запись типа

SWD Lead QA Lead PD Lead Business Manager
AAAA     BBBB    CCCC    DDDD

Я хочу использовать T-SQL для получения результата, как показано ниже, с именем столбца

SWD Lead         AAAA
QA Lead          BBBB
PD Lead          CCCC
Business Manager DDDD

Кто-нибудь знает, как это сделать?

С наилучшими пожеланиями,

1 Ответ

3 голосов
/ 04 февраля 2010

Поскольку вы используете SQL Server 2005, вы можете использовать UNPIVOT . Это изменено из примера на этой странице:

SELECT ColA, ColB
FROM Table1
UNPIVOT (ColB FOR ColA IN ([SWD Lead],
                           [QA Lead],
                           [PD Lead],
                           [Business Manager])) AS unpvt;

Результат:

ColA              ColB
SWD Lead          AAAA
QA Lead           BBBB
PD Lead           CCCC
Business Manager  DDDD

На старых версиях сервера вы можете сделать что-то подобное для достижения того же эффекта:

SELECT 'Col1', Col1 FROM Table1
UNION ALL
SELECT 'Col2', Col2 FROM Table1
UNION ALL
SELECT 'Col3', Col3 FROM Table1
UNION ALL
SELECT 'Col4', Col4 FROM Table1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...