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

Wybieranie wartości kolumn tabeli łączenia jako nazwy kolumny wyników

Wygląda na to, że chcesz PIVOT latitude i longitude wartości. Niestety, MySQL nie ma PIVOT funkcji, ale możesz ją zreplikować za pomocą funkcji agregującej z CASE oświadczenie:

SELECT p.ID, 
  p.post_title, 
  p.post_author,
  max(case when pm.meta_key='latitude' then pm.meta_value end) latitude,
  max(case when pm.meta_key='longitude' then pm.meta_value end) longitude
FROM `wp_posts` p
LEFT JOIN `wp_postmeta` pm
  on p.ID=pm.post_id 
WHERE p.post_type='place' 
  AND (pm.meta_key='latitude' OR pm.meta_key='longitude') 
GROUP BY p.ID, p.post_title, p.post_author
ORDER BY p.ID ASC

Zobacz Skrzypce SQL z wersją demonstracyjną



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy należy używać wartości NULL lub pustego ciągu do reprezentowania żadnych danych w kolumnie tabeli?

  2. Gdzie klauzula działa nie działa na tinyint

  3. Jak przekonwertować cały zestaw znaków bazy danych MySQL i sortowanie do UTF-8?

  4. Czy wyzwalacze bazy danych są bezpieczne dla ograniczeń integralności między tabelami?

  5. Zaznaczanie wszystkich pól poza jednym polem w mysql