Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL JOIN jako pojedynczy wiersz z wartościami podrzędnymi jako kolumnami i możliwością ORDER BY wartości relacji podrzędnej

Pojedynczy wiersz na kontakt:

SELECT 
    contacts.id,
    contacts.first_name,
    contacts.last_name,
    GROUP_CONCAT(IF(field_values.field_id = 2, field_values.value, NULL)) AS email,
    GROUP_CONCAT(IF(field_values.field_id = 1, field_values.value, NULL)) AS field_1
FROM contacts 
LEFT JOIN field_values ON contacts.id = field_values.contact_id
GROUP BY contacts.id
ORDER BY email;.  -- it is optional, only include if you want to sort result by ascending emails.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź, czy liczba znajduje się między dwiema liczbami w różnych polach w bazie danych MySQL

  2. Wyliczanie kombinacji za pomocą SQL

  3. #1054 nieznana kolumna w przypadku błędu klauzuli

  4. MySQL COUNT() i nulls

  5. Odpowiednik kolumny MSSQL IDENTITY w MySQL