在数据分析和管理中,数据透视是将表转换为不同结构的关键技术。它涉及重新排列行和列,以使数据更易于分析。
这个问题有类似的目标:将透视数据转换为可变宽度表。输入数据以数据透视格式表示,包含用户 ID、组织、职位和语言。目标是重构数据,使每行包含一个用户 ID 以及三种不同语言的相应组织和位置值:“EN”、“FI”和“SV”。
该问题探讨了使用 PIVOT 查询和 connect by 命令作为潜在的解决方案。但是,在这种情况下不建议使用这种方法。
相反,答案中提供了使用 PIVOT 运算符的更简单的解决方案:
SELECT * FROM source PIVOT ( MIN(org) AS org, MIN(position) AS position FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv) );
此 PIVOT 查询成功转换了输入数据进入所需的可变宽度表,每行包含三种语言的用户 ID、组织和位置。
以上是如何使用 SQL 将多列数据转换为可变宽度表?的详细内容。更多信息请关注PHP中文网其他相关文章!