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

Избиране на стойностите на колоните на таблицата за свързване като име на колона за резултат

Изглежда, че искате да PIVOT latitude и longitude стойности. За съжаление MySQL няма PIVOT функция, но можете да я репликирате с помощта на агрегатна функция с CASE изявление:

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

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как правилно да боравите с международния знак в PHP / MySQL / Apache

  2. Невалиден номер на параметъра:броят на свързаните променливи не съвпада с броя на токените в Doctrine

  3. Връщане на "последния" ред на всяка "група по" в MySQL

  4. Codeigniter/PHP проверява дали може да се свърже с базата данни

  5. PHP-SQL:Качено изображение, което се показва като нежелан текст