У меня есть следующий запрос с ORDER BY CASE, который не возвращает ожидаемые результаты
SELECT
c.*
FROM `ws_products` as c
ORDER BY
CASE WHEN c.stock>=0 THEN 1
WHEN (c.stock<=0 AND c.allow_backorder=1) THEN 2
WHEN (c.stock<=0 AND c.allow_backorder=0) THEN 3 END asc
Я хочу отсортировать товары в следующем порядке
- Сначала продукты, которые имеютstock (c.stock> = 0)
- Во-вторых, у товаров, у которых нет запаса, но разрешен allow_backorder (c.stock <= 0 AND c.allow_backorder = 1) </li>
- Последние товары, которыене имеет запасов и не имеет разрешения allow_backorder (c.stock <= 0 AND c.allow_backorder = 0) </li>
Я ожидал, что вышеуказанный запрос выполнит свою работу, но это не
Я неправильно понял СЛУЧАЙ КОГДА MySQL?
Мой подход совершенно неверен?
Любая помощь приветствуется