在Teradata SQL中将多行转换为具有多个字段的1列

时间:2019-02-12 18:55:01

标签: sql teradata teradata-sql-assistant

我在teradata sql助手中有一个看起来像这样的表:

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 :(得分:1)

只需使用条件聚合:

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;