У меня возникла проблема при использовании функции FIELD в моем заказе by.
Моя ситуация - продукт, который может иметь три категории, и пользователь может выбрать, какую категорию показывать в первую очередь. Таким образом, существует три возможных вопроса, которые могут быть сформированы. Это:
Запрос 1
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'graded',
'new',
'used');
Запрос 2
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'new',
'graded',
'used');
Запрос 3
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'used',
'new',
'graded');
Это не работает, когда условие продукта равно NULL, потому что оно всегда показывает строки со значением NULL. Мне нужно, чтобы они появились последними.
Я попытался добавить NULL к функции FIELD, но это, похоже, не работает.
Кто-нибудь знает способ, которым я могу это достичь?
Спасибо за вашу помощь.