Заказ по трем колоннам - PullRequest
       2

Заказ по трем колоннам

0 голосов
/ 03 декабря 2018

У меня есть база данных, которая имеет 3 столбца.Name, Stock, Backorders Какой запрос я должен использовать, чтобы получить такие строки:

Все строки должны быть отсортированы в алфавитном порядке, но первые строки должны иметь товары, которые имеют stock > 1, вторые должны быть товары, которые имеют stock = 0, но имеютbackorders = 1 и, наконец, те, которые имеют запас и backorders = 0

1 Ответ

0 голосов
/ 03 декабря 2018

Перевод вашего английского языка на SQL, ваш запрос должен включать в себя:

ORDER BY
  CASE 
    WHEN stock > 1 THEN 0
    WHEN stock = 0 AND backorders > 1 THEN 1
    ELSE 2
  END

Если вы хотите, чтобы он был отсортирован в подмножества, как в алфавитном порядке, вставьте еще одно предложение после END (используйте запятую, чтобы отделить их) например:

ORDER BY
  CASE 
    WHEN stock > 1 THEN 0
    WHEN stock = 0 AND backorders > 1 THEN 1
    ELSE 2
  END,
  productname

Вещи будут отсортированы сначала по заданным вами числовым правилам, а затем по названию продукта (измените его на любой столбец с вашим именем, которое вы хотите отсортировать по алфавиту)

Может ли акции или заказы быть меньше 0?Выясните, где они должны соответствовать порядку сортировки. На данный момент ELSE ловит все остальное.Это можно изменить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...