如何解决使用mysql查询将数据显示为列标题
我的数据看起来像
EmployeeId paycategory value
1 Contribution 200
1 Salary 18000
我想将结果显示为
EmployeeId Salary Contribution
1 18000 200
我的尝试看起来像
select EmployeeId,paycategory,value from Reports pi where employeeId = 1 and paycategory = 'Salary'
union
select EmployeeId,value from Reports pi where employeeId = 1 and paycategory = 'Contribution'
结果显示为
EmployeeId paycategory value
1 Contribution 200
1 Salary 18000
与原始数据的格式相同
解决方法
使用条件聚合来枢转数据集:
select employeeid,max(case when paycategory = 'Salary' then value end) salary,max(case when paycategory = 'Contribution' then value end) contribution
from reports
group by employeeid
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。