sql - 如何将行展平为列(字段)值
问题描述
我有将 Job_ids 拆分为多行的数据(我必须这样做,因为以前我必须从每个 job_id 中拆分出团队成员,然后识别他们的团队
我的数据当前采用的格式如下(未显示),但每个 job_id 都有一个有团队分配的员工,因此对于每一行,只有一个列中有一个是:
+--------------+----------+--------+------------+
| job_id | team1 | team2 | team3 |
+--------------+----------+--------+------------+
| 1 | NO | NO | YES |
| 1 | YES | NO | NO |
| 2 | YES | NO | NO |
+--------------+----------+--------+------------+
而且我想像这样通过 Job_id 将其“展平”,以获得所有“是”以“覆盖”“否”值,以便我可以在一个工作行中看到哪些团队正在从事这项工作:
+--------------+----------+--------+------------+
| job_id | team1 | team2 | team2 |
+--------------+----------+--------+------------+
| 1 | YES| NO | YES |
| 2 | YES | NO | NO |
+--------------+----------+--------+------------+
解决方案
您可以使用聚合:
select
job_id,
max(team1) team1,
max(team2) team2,
max(team3) team3
from mytable
group by job_id
这是有效的,因为在字符串方面,'Y'
大于'N
'.
推荐阅读
- javascript - 如何动态设置选择选项?
- angular - 更新到 Angular 11 后在 chrome 中调试问题
- html - CSS过渡属性不适用于Transform
- python - 在 python 的 fileoutput.writelines() 中使用 if else
- c# - 如何在静态方法中引用 WPF ItemsControl?
- java - 使用 Json SchemaGenerator 作为 JsonNode 创建模式节点
- java - Android Studio Youtube API 使用 setOnClickListener NullPointerException
- java - 如何在 jboss eap 7.3 上启用 cors?
- azure - 即使管道成功运行且没有任何问题,获取 VM 映像版本状态也失败
- android - 如何在flutter中移除一个AR核心节点