sql >> Base de Datos >  >> RDS >> Mysql

Consulta un valor específico con Pivot Table mySQL

prueba esta consulta. Creo que puedes usar HAVING cláusula.

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 En sqlFiddle tengo datos de muestra para 2 torneo_id diferentes y HAVING se aplica la cláusula para que solo se devuelvan los valores para ese torneo_id, puede intentar eliminar el HAVING y ver que devuelve 2 filas.

Su Agrupar por no es estándar ya que también está seleccionando id y form_id. Le sugiero que suelte la identificación o use MIN(id) o MAX(id) y GROUP BY lead_id,form_id