Привет всем знатокам.
Для увеличения скорости ответа, поменял запрос с OR по двум столбцам на два запроса с UNION. Проблема в ORDER BY
Запрос такого вида
SELECT p.id,
p.url,
p.brand_id,
p.name,
p.JC,
p.annotation,
p.body,
p.gallery360,
p.position,
p.created as created,
p.visible,
p.featured,
p.views,
p.meta_title,
p.meta_keywords,
p.meta_description,
b.name as brand,
b.url as brand_url
FROM s_products p
LEFT JOIN s_brands b ON p.brand_id = b.id
WHERE (p.name_clear IN ('A','B') OR p.JC IN ('A','B') )
AND (SELECT count(*)>0 FROM s_variants pv WHERE pv.product_id=p.id AND pv.price>0 AND (pv.stock IS NULL OR pv.stock>0) LIMIT 1) = 1
AND p.visible=1
ORDER BY p.position DESC
LIMIT 0, 40
Как переписать на два запроса с Union чтобы работал ORDER BY?