Превратите несколько строк в один столбец с несколькими полями в Teradata SQL - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть таблица, которая выглядит следующим образом в teradata sql assistant:

Software Name   Employee
Word              Bob
Excel             Bob
Word              Kim
Excel             Kim
PowerPoint        Bob

Я хочу создать ее так, чтобы для каждого программного обеспечения была только 1 строка, и каждый сотрудник сохранялся как двоичный файл 1или 0 в зависимости от того, есть у них программное обеспечение или нет.Финальная таблица должна выглядеть так:

Software Name    Bob   Kim
Word             1      1
Excel            1      1
PowerPoint       1      0

Я использую Teradata 15.10, и я не смог понять, как это сделать, потому что Terdata 15.10 не поддерживает функцию PIVOT.

1 Ответ

0 голосов
/ 12 февраля 2019

Просто используйте условное агрегирование:

select software_name,
       sum(case when employee = 'Bob' then 1 else 0 end) as Bob,
       sum(case when employee = 'Kim' then 1 else 0 end) as Kim
from t
group by software_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...