如何解决如何为多行创建 PIVOT
我正在寻找有关 PIVOT (sql) 的帮助。
基表:
ID COLUMN_NAME VALUE ROW_INDEX
017QZ Course Completion Confirmed? Yes 1
017QZ Course Completion Confirmed? Yes 2
017QZ Course Type A&S 1
017QZ Course Expiry Date 04/30/2021 1
017QZ Course Type Life Upgrade 2
017QZ Date Completion Verified 08/17/2020 1
017QZ Course Provider R Publishing 2
017QZ Course Completed Date 04/30/2020 1
017QZ Course Provider R Publishing 1
017QZ Course Expiry Date 05/01/2021 2
017QZ Course Completed Date 05/01/2020 2
我只需要这个输出:课程名称和过期日期。
ID A&S Life Upgrade
017QZ 04/30/2021 05/01/2021
我可以通过使用 2 个单独的 PIVOT 视图来实现这一点,但我想知道有没有更有效的方法?
谢谢!
解决方法
您是否只想要条件聚合?
select id,max(case when row_index = 1 and column_name = 'Course Expiry Date' then value end) as a_and_s,max(case when row_index = 2 and column_name = 'Course Expiry Date' then value end) as life_upgrade
from base
group by id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。