Добавить условие сортировки в SQL запросе
Есть SQL запрос:
SELECT p.*, pp.quantity FROM oc_product AS p
INNER JOIN oc_product_description AS pd ON (pd.product_id = p.product_id)
INNER JOIN oc_product AS pp ON (pp.product_id = p.product_id)
WHERE pd.language_id = '1' ORDER BY pp.quantity =0 ASC, pp.image !='' DESC, LCASE(pp.date_added) DESC LIMIT 0, 34
Так же еще есть таблица oc_product_attribute, в которой - product_id, attribute_id, text
Задача: в первоначальную выборку добавить сортировку по принципу - если в таблице oc_product_attribute найден attribute_id со значением 30 и его text не пустой, то выводить запись в начале списка. Если такой записи не найдено, то выводить с конца списка. При этом это лишь условие для сортировка. Даже если p.product_id не будет найден в oc_product_attribute, результат всё равно должен выводиться.
Как это можно сделать?