SQL / jQuery для преобразования отдельных значений строк в столбцы - PullRequest
0 голосов
/ 09 июля 2020

У меня есть требование преобразовать отдельные значения строк в столбцы. В следующей таблице доступны параметры «Источник», «Приоритет» и «Количество».

|Source |Priority|Count|
|Email  |P4      |19   |
|Phone  |P3      |27   |
|Email  |P3      |53   |
|Outlook|P4      |77   |
|Email  |P2      |12   |

Теперь мне нужно сгенерировать вывод в табличном формате ниже на странице JSP. Можно ли сгенерировать эту выходную таблицу с использованием SQL?

|Source |P4|P3|P2|P1|
|Email  |19|53|12|0 |
|Phone  |0 |27|0 |0 |
|Outlook|77|0 |0 |0 |

Ответы [ 2 ]

2 голосов
/ 09 июля 2020

Здесь вы можете найти решение вашего вопроса с помощью PIVOT:

create table #Table1 (Sources varchar(10), Priority varchar (5), Counts int)

insert into #Table1 values ('Email','P4',19)
insert into #Table1 values ('Phone','P3',27)
insert into #Table1 values ('Email','P3',53)
insert into #Table1 values ('Outlook','P4',77)
insert into #Table1 values ('Email','P2',12)

SELECT Sources,ISNULL([P4],0) AS P4,ISNULL([P3],0) AS P3,ISNULL([P2],0) AS P2,ISNULL([P1],0) AS P1
FROM
(
    SELECT Sources,
           Priority,
           Counts
    FROM #Table1
) AS SourceTable PIVOT(SUM(Counts) FOR Priority IN([P4],[P3],[P2],[P1])) AS PivotTable;

Надеюсь, он будет вам полезен! Пока!

0 голосов
/ 09 июля 2020

Здесь вы можете найти хорошую статью: Эффективное преобразование строк в столбцы на sql сервере

Вы можете попробовать таким образом, я уверен, что вы сможете решить свою проблему используйте это руководство, см. Сводную таблицу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...