Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fragen Sie einen bestimmten Wert mit Pivot Table mySQL ab

versuchen Sie es mit dieser Abfrage. Ich denke, Sie können den HAVING verwenden Klausel.

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 In sqlFiddle habe ich Beispieldaten für 2 verschiedene turnier_id und den HAVING -Klausel angewendet wird, sodass nur Werte für diese turnier_id zurückgegeben werden, können Sie versuchen, das HAVING zu entfernen und sehen, dass es 2 Zeilen zurückgibt.

Ihr Group By ist kein Standard, da Sie auch id und form_id auswählen. Ich schlage vor, Sie lassen die ID weg oder verwenden MIN(id) oder MAX(id) und GROUP BY lead_id,form_id