У меня есть проблема, когда мне нужно AS столбца в запросе MySQL и выполнить 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