SQL Server 2008 Формирование результата запроса (изменение полей оси x и y) - PullRequest
0 голосов
/ 23 февраля 2012

Каков наиболее эффективный способ форматирования результатов запроса, если использовать настоящий SQL-код SQL Server или использовать другую программу, например, access или excel, чтобы X (заголовки столбцов первой строки) и ось Y (значения полей первого столбца)) можно изменить, но с теми же данными результатов запроса, которые по-прежнему представлены, просто другим способом.

они хранят данные в моей базе данных и возвращают исходные результаты запроса в SQL Server 2008являются следующие:

Формат исходных результатов

И ниже, как мне нужно, чтобы данные выглядели так:

Как мне нужноРезультаты, которые нужно посмотреть

По сути, мне нужно, чтобы поле почтового индекса проходило по оси Y (первый столбец) и поле Coveragecode, чтобы пройти через верхнюю первую строку (ось X) с экспозициямизаполнение оставшихся данных.

Единственный способ добиться этого - привести данные в Excel и выполнить несколько V-LookUps.Я попытался использовать несколько сводных таблиц, но далеко не ушел.Я собираюсь продолжать пытаться отформатировать данные с помощью V-LookUps, но, надеюсь, кто-то может придумать лучший способ сделать это.

1 Ответ

1 голос
/ 24 февраля 2012

То, что вы ищете, это табличный оператор с именем PIVOT. Документы: http://msdn.microsoft.com/en-us/library/ms177410.aspx

WITH Src AS(
    SELECT Coveragecode, Zipcode, EarnedExposers
    FROM yourTable
)
SELECT Zipcode, [BI], [PD], [PIP], [UMBI], [COMP], [COLL]
FROM Src
PIVOT(MAX(EarnedExposers) FOR CoverageCode 
    IN(
           [BI], 
           [PD], 
           [PIP], 
           [UMBI], 
           [COMP], 
           [COLL]
      )
) AS P;
...