我需要对查询中的下表进行排序-
SELECT * FROM Likelihood WITH (NOLOCK)
INNER JOIN Diagnosis ON Diagnosis.DiagnosisID = Likelihood.DiagnosisID WHERE Likelihood.SessionID =
(6768)
ORDER BY Likelihood.Percentage DESC
**Percentage Diagnosis Level**
100 F43.10 HIGH
83.333336 F84.5 HIGH
75 F40.9 HIGH
66.666664 F90.0 MEDIUM
50 F51.09 MEDIUM
首先按可能性排序。
然后,当Level ='HIGH'时,按诊断升序排序。诊断列是一个字符串。
当Level ='MEDIUM'时,按诊断升序排序
结果表应为:
**Percentage Diagnosis Level**
100 F43.10 HIGH
75 F40.9 HIGH
83.333336 F84.5 HIGH
50 F51.09 MEDIUM
66.666664 F90.0 MEDIUM
我尝试了此查询,但没有得到结果:
SELECT * FROM Likelihood WITH (NOLOCK)
INNER JOIN Diagnosis ON Diagnosis.DiagnosisID = Likelihood.DiagnosisID WHERE Likelihood.SessionID =
(6768)
ORDER BY
Case when Level='HIGH' and Percentage > 70 then Diagnosis.Diagnosis end ,
Case when Level='Medium' and Percentage between 50 and 69 then Diagnosis.Diagnosis end ,
Likelihood.Percentage DESC