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

Výběr hodnot sloupců tabulky spojení jako název sloupce výsledku

Zní to, jako byste chtěli PIVOT latitude a longitude hodnoty. MySQL bohužel nemá PIVOT funkci, ale můžete ji replikovat pomocí agregační funkce s CASE prohlášení:

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

Viz SQL Fiddle s ukázkou



  1. PostgreSQL nepoužívá částečný index

  2. Kdy byste použili funkci s tabulkovou hodnotou?

  3. Oracle-XMLTYPE :Jak aktualizovat hodnotu

  4. Spouštění Vites a MySQL pomocí ClusterControl