Skip to content

Instantly share code, notes, and snippets.

@goliver79
Created July 5, 2015 11:18
Show Gist options
  • Save goliver79/0e78b7cd4343b4505da2 to your computer and use it in GitHub Desktop.
Save goliver79/0e78b7cd4343b4505da2 to your computer and use it in GitHub Desktop.
[WORDPRESS] SQL Query. Custom post or user meta fields in columns
# reference: http://subharanjan.com/sql-query-to-get-post-and-its-meta_values-as-one-row-of-record-single-data-grid/
# ONLY USERS/POSTS WITH VALUES
SELECT wp_posts.ID, wp_posts.post_title, pm1.meta_value as field1, pm2.meta_value as field2, pm3.meta_value as field3
FROM wp_posts
LEFT JOIN wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key='metakey1')
LEFT JOIN wp_postmeta AS pm2 ON (wp_posts.ID = pm2.post_id AND pm2.meta_key='metakey2')
LEFT JOIN wp_postmeta AS pm3 ON (wp_posts.ID = pm3.post_id AND pm3.meta_key='metakey3')
WHERE wp_posts.post_type = 'post'
AND wp_posts.post_status = 'publish'
AND ((pm1.meta_key = 'metakey1') OR (pm2.meta_key = 'metakey2') OR (pm3.meta_key = 'metakey3'))
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
# ALL USERS/POSTS, including posts/users that does'nt have values in searched meta fields
SELECT wp_posts.ID, wp_posts.post_title, pm1.meta_value as field1, pm2.meta_value as field2, pm3.meta_value as field3
FROM wp_posts
LEFT JOIN wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key='metakey1')
LEFT JOIN wp_postmeta AS pm2 ON (wp_posts.ID = pm2.post_id AND pm2.meta_key='metakey2')
LEFT JOIN wp_postmeta AS pm3 ON (wp_posts.ID = pm3.post_id AND pm3.meta_key='metakey3')
WHERE wp_posts.post_type = 'post'
AND wp_posts.post_status = 'publish'
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment