Эффективный способ превратить строки в столбцы, чтобы проверить доход продуктов за каждый месяц - PullRequest
0 голосов
/ 13 мая 2019

У меня есть таблица с 3 столбцами, в которой показан доход продукта за каждый месяц:

1.Продукт

2. Вознаграждение $

3.Month_Date

Таблица выглядит следующим образом:

Product | Month_Date | Revenue$
A          2013-01       10
A          2013-02       11 
A          2013-03       8
...         ...           ...
A          2019-04       20
B          2013-01       2
B          2013-02       5

Проблема в том, что с 2013-01 по 2019-04 годы существует 76 месяцев, и я хочу показать месяц в столбцах вместо строк и показать доход длякаждый продукт в строке, чтобы данные были похожи на следующую таблицу:

          Product | 2013-01 | 2013-02 | 2013-03 | ...... | 2019-04
Revenue$   A           10        11       8       ......    20  
           B            2         5       3       ......     6

Не могли бы вы помочь мне, если есть эффективный способ сделать это, пожалуйста?Я пытался долгое время, не пытаясь решить эту проблему вместо жесткого кодирования. Заранее большое спасибо за помощь!

1 Ответ

0 голосов
/ 13 мая 2019

Для Sql Server вы можете увидеть этот пример .

Извлечение со страницы:

SELECT *
FROM
(
    SELECT [PolNumber],
           [PolType],
           [Effective Date],
           [DocName],
           [Submitted]
    FROM [dbo].[InsuranceClaims]
) AS SourceTable PIVOT(AVG([Submitted]) FOR [DocName] IN([Doc A],
                                                         [Doc B],
                                                         [Doc C],
                                                         [Doc D],
                                                         [Doc E])) AS PivotTable;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...