Ужасный запроc....откуда он такой формируется?
Вот поправленый запрос, его можно выполнить:
SELECT 'min' AS title, p.price, p.tax_class_id FROM YOUPREFFIX_oc_product p
WHERE p.price>0 AND p.product_id in (
select pc.product_id FROM YOUPREFFIX_oc_product_to_category pc WHERE pc.category_id ORDER BY p.price ASC ) LIMIT 1
UNION
(
SELECT 'min_special' AS title, p.price, 0 as tax_class_id FROM YOUPREFFIX_oc_product_special p
WHERE p.price>0 AND p.product_id in (
select pc.product_id FROM YOUPREFFIX_oc_product_to_category pc WHERE pc.category_id )
AND ((p.date_start = '0000-00-00' OR p.date_start < NOW())
AND (p.date_end = '0000-00-00' OR p.date_end > NOW())) ORDER BY p.priority ASC, p.price ASC LIMIT 1)
union(
SELECT 'max' AS title, p.price, p.tax_class_id
FROM YOUPREFFIX_oc_product p WHERE p.price>0 AND p.product_id in
(
select pc.product_id FROM YOUPREFFIX_oc_product_to_category pc WHERE pc.category_id ORDER BY p.price DESC
) LIMIT 1
)
UNION (
SELECT 'max_special' AS title, p.price, 0 as tax_class_id
FROM YOUPREFFIX_oc_product_special p WHERE p.price>0 AND p.product_id in
(
select pc.product_id FROM YOUPREFFIX_oc_product_to_category pc WHERE pc.category_id )
AND ((p.date_start = '0000-00-00' OR p.date_start < NOW())
AND (p.date_end = '0000-00-00' OR p.date_end > NOW())) ORDER BY p.priority ASC, p.price DESC LIMIT 1)
Естественно, необходимо преффиксы свои в модели сделать!!!
Думаю Вам это то что нужно!