SQL - порядок с частью строки - PullRequest
1 голос
/ 07 июня 2019

Извините за репост.Но мне нужно.У меня есть строка длиной 8 и мой запрос;

select distinct Siparisler.IsEmriNo, MakinelerVeParcalar.Ozellik, DurumBilgisi.ID 
from Siparisler,
     MakinelerVeParcalar,
     DurumBilgisi 
where DurumBilgisi.ID = MakinelerVeParcalar.ID
  and Siparisler.IsEmriNo = MakinelerVeParcalar.IsEmriNo

и мой список IsEmriNo;

MR18U001
MR18U002
MR18V001
MR19U003
MR19V002
MR19V001
OC19U002
OC18V005
OC18U007
SB18U010
SB18V005
SB19U028

И я хочу

MR19U003
MR19V002
MR19V001
SB19U028
OC19U002
MR18U002
MR18U001
MR18V001
SB18U010
SB18V005
OC18U007
OC18V005

Первый заказ: 3-й и 4-йсимвол (по убыванию 19,18,17 ...)

Второй порядок: 1-й и 2-й символ (по возрастанию MR, SB, OC ... -> специально для меня)

Третий порядок:
Последние 3 символа (по убыванию 030,029,028 ... 001)

Не дублирует мой старый пост.

Возможно ли это?

1 Ответ

1 голос
/ 07 июня 2019

Следующее order by будет работать в вашем сценарии:

order by substring(IsEmriNo, 3, 2) desc,
         CASE WHEN IsEmriNo LIKE '%MR%' THEN 0
              WHEN IsEmriNo LIKE '%SB%' THEN 1
              WHEN IsEmriNo LIKE '%OC%' THEN 2
             END,
         right(IsEmriNo, 3) desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...