sql >> Database teknologi >  >> RDS >> Mysql

Valg af en sammenføjningstabels kolonneværdier som resultatkolonnenavn

Det lyder som om du vil PIVOT latitude og longitude værdier. MySQL har desværre ikke en PIVOT funktion, men du kan replikere den ved at bruge en aggregeret funktion med en CASE erklæring:

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

Se SQL Fiddle with Demo



  1. brug mysql SUM() i en WHERE-sætning

  2. Sletning af duplikerede rækker fra MySql Table

  3. Udfør flere sql-sletteforespørgsler i mysql til php

  4. hvordan man viser dublet e-mailadresse