WordPressで2つのカスタムフィールドの合算値が指定値以下になる投稿を取得するためのSQL文

komori 162views 更新:2016年2月9日

テーブルwp_postsとテーブルwp_postmetaで、value1とvalue2の2つのカスタムフィールドの合算値が40000以下になる投稿を取得するためのSQL文は、次のように記述します。

SELECT wp_posts.ID, pm1.meta_value as value1, pm2.meta_value as value2
FROM wp_posts 
LEFT JOIN wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key='value1')
LEFT JOIN wp_postmeta AS pm2 ON (wp_posts.ID = pm2.post_id AND pm2.meta_key='value2')
WHERE wp_posts.post_type = 'post' 
AND wp_posts.post_status = 'publish' 
AND (case pm1.meta_key when 'value1' then pm1.meta_value else 0 end)+(case pm2.meta_key when 'value2' then pm2.meta_value else 0 end) <40000
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません