Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-使用字符串的一部分进行排序_Sql_Sql Server - Fatal编程技术网

SQL-使用字符串的一部分进行排序

SQL-使用字符串的一部分进行排序,sql,sql-server,Sql,Sql Server,很抱歉重新发布。但是我需要。我有8个长度的字符串和我的查询 select distinct Siparisler.IsEmriNo, MakinelerVeParcalar.Ozellik, DurumBilgisi.ID from Siparisler, MakinelerVeParcalar, DurumBilgisi where DurumBilgisi.ID = MakinelerVeParcalar.ID and Siparisler.IsEmriNo =

很抱歉重新发布。但是我需要。我有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
首次订购: 第三和第四个字符(降序19、18、17…)

第二次订购: 第一和第二个字符(升序MR、SB、OC…->针对我)

第三次订购:
最后3个字符(从030029028…001开始)

与我的旧邮件不重复


有可能吗?

以下
订购方式将在您的场景中起作用:

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

不可能重复。请查看今天的详细提示:切换到现代的显式
JOIN
语法。更易于写入(无错误),更易于读取(和维护),并且在需要时更易于转换为外部联接。(