【发布时间】:2009-12-02 09:42:34
【问题描述】:
我正在处理一个将值列表作为参数传递的 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 的软件的限制,我必须将其作为 1 个参数传递给一些内部查询生成器,即“24,12,7,14,65”。而且我不知道这个列表中会有多少个数字,可能是 2,可能是 20。
【问题讨论】:
-
能否将参数作为xml传入,然后动态获取值?
-
这个值列表的问题在于它在我的应用程序的不同位置使用。在将其作为参数传递之前,我可以对其进行一些小的更改,例如将“,”更改为“
”。开发工具 (WebDev12) 使用某种字符串替换来构建查询,因此 {Parameter} 将替换为我提供的值。
标签: sql-server