Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consultar um valor específico com tabela dinâmica mySQL


tente esta consulta. Acho que você pode usar o 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 No sqlFiddle eu tenho dados de exemplo para 2 torneios diferentes e o HAVING é aplicada para que apenas valores para esse torneio_id sejam retornados, você pode tentar remover o HAVING e ver que ele retorna 2 linhas.

Seu Group By não é padrão, pois você também está selecionando id e form_id. Sugiro que você remova o id ou use MIN(id) ou MAX(id) e GROUP BY lead_id,form_id