我正在处理一个 SQL 查询,该查询接收一个值列表作为参数,例如:
select *
from ProductGroups
where GroupID in (24,12,7,14,65)
这个列表是由数据库中使用的关系构建而成,必须按照这个顺序进行维护。
我想按照这个列表对结果进行排序。我只需要第一个结果,但在这种情况下可能是具有 GroupId 7 的结果。
我不能像这样查询:
order by (24,12,7,14,65).indexOf(GroupId)
有人知道如何做到这一点吗?
额外信息:
在 Mssql 查询编辑器中构建连接工作正常,但是...
由于将查询发送到 Mssql 的软件的限制,我必须将其作为一个参数传递给某个内部查询生成器,因此是"24,12,7,14,65"。而且我不知道这个列表中会有多少数字,可能是2个,也可能是20个。