如何编写SQL Order By以遵循in参数中的排列
我需要让SQL中的ORDER BY遵循基于WHERE in参数的安排。这是我当前的SQL如何编写SQL Order By以遵循in参数中的排列,sql,sql-server,Sql,Sql Server,我需要让SQL中的ORDER BY遵循基于WHERE in参数的安排。这是我当前的SQL SELECT a.code, a.name FROM sometable a WHERE a.code IN ('D001sa', 'EX!5', 'A$34') 我需要得到的结果是: a.code a.name -------------------- 'D001sa' Home 'EX!5' Family 'A$34' Green 如果我有a.code或a.n
SELECT a.code, a.name
FROM sometable a
WHERE a.code IN ('D001sa', 'EX!5', 'A$34')
我需要得到的结果是:
a.code a.name
--------------------
'D001sa' Home
'EX!5' Family
'A$34' Green
如果我有a.code或a.name的
订单,我不会得到我需要的结果。我建议使用值()
:
我建议使用values()
:
您可以使用前面所述的值或内部联接复合联合查询
SELECT a.code, a.name FROM sometable st
INNER JOIN
(
SELECT code = 'D001sa', order = 1
UNION
SELECT code = 'EX!5', order = 2
UNION
SELECT code = 'A$34', order = 3
)AS X ON x.code=st.code
ORDER BY
X.order
您可以使用前面所述的值或内部联接复合联合查询
SELECT a.code, a.name FROM sometable st
INNER JOIN
(
SELECT code = 'D001sa', order = 1
UNION
SELECT code = 'EX!5', order = 2
UNION
SELECT code = 'A$34', order = 3
)AS X ON x.code=st.code
ORDER BY
X.order
这工作做得很好!非常感谢你的帮助这工作做得很好!非常感谢你的帮助