spróbuj tego zapytania. Myślę, że możesz użyć HAVING
klauzula.
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
W sqlFiddle mam przykładowe dane dla 2 różnych identyfikatorów turniejów i HAVING
klauzula jest stosowana, aby zwracane były tylko wartości dla tego identyfikatora turnieju, możesz spróbować usunąć HAVING i zobaczyć, że zwraca 2 wiersze.
Twoje Grupuj według nie jest standardowe, ponieważ wybierasz również id i form_id. Proponuję usunąć identyfikator lub użyć MIN(id) lub MAX(id) i GROUP BY lead_id,form_id