Mysql
 sql >> Base de données >  >> RDS >> Mysql

Interroger une valeur spécifique avec Pivot Table mySQL

essayez cette requête. Je pense que vous pouvez utiliser le HAVING clause.

SELECT id, lead_id, form_id, 
MAX(case when field_number = 1 then value end) username, 
MAX(case when field_number = 7 then value end) email, 
MAX(case when field_number = 6 then value end) tournament_name, 
MAX(case when field_number = 3 then value end) primary_golfer, 
MAX(case when field_number = 4 then value end) backup_golfer, 
MAX(case when field_number = 5 then value end) date, 
MAX(case when field_number = 8 then value end) tournament_id 
FROM `wp_rg_lead_detail` GROUP BY lead_id
HAVING tournament_id = '5b409692-e9ed-486e-8d77-7d734f1e023d'

sqlFiddle Dans le sqlFiddle, j'ai des exemples de données pour 2 tournoi_id différents et le HAVING est appliquée afin que seules les valeurs de ce tournoi_id soient renvoyées, vous pouvez essayer de supprimer HAVING et voir qu'il renvoie 2 lignes.

Votre Group By n'est pas standard puisque vous sélectionnez également id et form_id. Je vous suggère de supprimer l'id ou d'utiliser MIN(id) ou MAX(id) et GROUP BY lead_id,form_id