MySQLクエリで列をASし、その列でBETWEENを実行する必要があるという問題があります。問題を説明するために私が思いつくことができる最も単純なバージョンはこれです:
SELECT ID AS post_id FROM wp_posts WHERE (post_id BETWEEN 10 AND 20)
これにより、次のエラーがスローされます。
#1054 - Unknown column 'post_id' in 'where clause'
新しく作成されたpost_id
列をBETWEEN演算子に表示する方法はありますか?
アップデート:
これが私の実際のクエリです。ご覧のとおり、少し複雑です。
SELECT wp_postmeta.post_id,
MAX(CASE WHEN wp_postmeta.meta_key='store_lng' THEN wp_postmeta.meta_value END ) AS lng,
MAX(CASE WHEN wp_postmeta.meta_key='store_lat' THEN wp_postmeta.meta_value END ) AS lat
FROM wp_postmeta
LEFT JOIN wp_posts ON (wp_posts.ID=wp_postmeta.post_id)
WHERE
(lng BETWEEN 150.29793837662 AND 152.1161201948)
AND
(lat BETWEEN -34.775666623377 AND -32.957484805195)
AND
wp_posts.post_status='publish'
AND
wp_posts.post_type='store'
GROUP BY wp_postmeta.post_id