Mysql 我想根据我的两个表得到pivot结果
示例数据: 表:用户\字段\映射 用户id 字段id 字段值 1. 11 A. 1. 12 B 1. 13 C 2. 11 x 2. 12 YMysql 我想根据我的两个表得到pivot结果,mysql,left-join,sql-query-store,Mysql,Left Join,Sql Query Store,示例数据: 表:用户\字段\映射 用户id 字段id 字段值 1. 11 A. 1. 12 B 1. 13 C 2. 11 x 2. 12 Y 您可以使用条件聚合实现所需的结果- SELECT UFM.user_id, MAX(CASE WHEN field_id = 11 THEN UFM.field_value END) fieldnamefor11, MAX(CASE WHEN field_id = 12 THEN UFM.field_value END) fi
您可以使用条件聚合实现所需的结果-
SELECT UFM.user_id,
MAX(CASE WHEN field_id = 11 THEN UFM.field_value END) fieldnamefor11,
MAX(CASE WHEN field_id = 12 THEN UFM.field_value END) fieldnamefor12,
MAX(CASE WHEN field_id = 13 THEN UFM.field_value END) fieldnamefor13
FROM user_field_mapping UFM
JOIN field_master FM ON UFM.field_id = FM.field_id
GROUP BY UFM.user_id;
结果如何,
请显示您的疲乏代码。考虑应用程序代码中的数据显示问题。请参阅:。欢迎来到SO。
SELECT UFM.user_id,
MAX(CASE WHEN UFM.field_id = 11 THEN UFM.field_value end) as fieldnamefor11,
MAX(CASE WHEN UFM.field_id = 12 THEN UFM.field_value end) as fieldnamefor12,
MAX(CASE WHEN UFM.field_id = 13 THEN UFM.field_value end ) as fieldnamefor13
FROM user_field_mapping UFM inner join
field_master FM ON UFM.field_id = FM.field_id
Group by UFM.user_id