sql >> Databáze >  >> RDS >> Mysql

Dotaz na konkrétní hodnotu pomocí kontingenční tabulky mySQL

zkuste tento dotaz. Myslím, že můžete použít HAVING doložka.

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 V sqlFiddle mám ukázková data pro 2 různá id turnaje a HAVING je použita klauzule tak, že by byly vráceny pouze hodnoty pro dané id turnaje, můžete zkusit odstranit HAVING a uvidíte, že vrátí 2 řádky.

Vaše skupina není standardní, protože vybíráte také id a form_id. Navrhuji, abyste vynechali id ​​nebo použili MIN(id) nebo MAX(id) a GROUP BY lead_id,form_id



  1. ALTER TABLE pro přidání složeného primárního klíče

  2. Jaký je nejrychlejší způsob, jak zkrátit časová razítka na 5 minut v Postgres?

  3. Rails 3 – náhle čekající chyba migrace

  4. PHP &mySQL:Kdy přesně používat htmlentity?