sql >> Database teknologi >  >> RDS >> Mysql

Forespørg en specifik værdi med pivottabel mySQL

prøv denne forespørgsel. Jeg tror, ​​du kan bruge HAVING klausul.

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 I sqlFiddle har jeg eksempeldata for 2 forskellige tournament_id og HAVING klausulen anvendes, så kun værdier for det turnerings-id ville blive returneret. Du kan prøve at fjerne HAVING og se, at den returnerer 2 rækker.

Din Group By er ikke standard, da du også vælger id og form_id. Jeg foreslår, at du dropper id'et eller bruger MIN(id) eller MAX(id) og GROUP BY lead_id,form_id



  1. hvordan man tilføjer dato og tid med backupfilnavn ved hjælp af mysqldump fra kommandoprompt og definerer stien til backupfil

  2. Gør en tabel på den forkerte måde:transponere kolonner og rækker?

  3. Overvågning af forespørgsler fra en MySQL-bruger

  4. Spark SQL/Hive-forespørgsel tager evigheder med Join