Mysql 我想根据我的两个表得到pivot结果

Mysql 我想根据我的两个表得到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

示例数据:

表:用户\字段\映射

用户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) 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