SQL-使用字符串的一部分进行排序
很抱歉重新发布。但是我需要。我有8个长度的字符串和我的查询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 =
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
语法。更易于写入(无错误),更易于读取(和维护),并且在需要时更易于转换为外部联接。(