Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявете конкретна стойност с обобщена таблица mySQL

опитайте тази заявка. Мисля, че можете да използвате HAVING клауза.

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 В sqlFiddle имам примерни данни за 2 различни tournament_id и HAVING Клаузата се прилага, така че да бъдат върнати само стойности за този tournament_id, можете да опитате да премахнете HAVING и да видите, че връща 2 реда.

Вашата група по не е стандартна, тъй като избирате също id и form_id. Предлагам ви да пуснете идентификатора или да използвате MIN(id) или MAX(id) и GROUP BY lead_id,form_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо DBI имплицитно променя цели числа в низове?

  2. имплодирайте масив в разделен със запетая низ от mysql заявката

  3. Критикувайте моя дизайн на MySQL база данни за неограничени ДИНАМИЧНИ полета

  4. Грешка при свързване към база данни:(използвайки клас org.gjt.mm.mysql.Driver)

  5. Използвам ли JDBC пул за връзки?