SQL:结果顺序是否映射到';在';表情?
我有一个记录ID列表,我希望从SQLServer2008中的表中检索该记录ID的单个值 我的问题是:SQL:结果顺序是否映射到';在';表情?,sql,Sql,我有一个记录ID列表,我希望从SQLServer2008中的表中检索该记录ID的单个值 我的问题是: SELECT TestResult.FailureDetails FROM TestResult WHERE TestResult.ID IN (1,2,3,...) “IN”表达式包含数百个ID。ID列是表的主键 如果我的桌子像: ID Value 1 A 2 B 3 C 我是否总是按照“in”表达式中的出现顺序获得结果?如果没有,我正在考虑: SELECT
SELECT TestResult.FailureDetails FROM TestResult WHERE TestResult.ID IN (1,2,3,...)
“IN”表达式包含数百个ID。ID列是表的主键
如果我的桌子像:
ID Value
1 A
2 B
3 C
我是否总是按照“in”表达式中的出现顺序获得结果?如果没有,我正在考虑:
SELECT TestResult.ID, TestResult.FailureDetails FROM TestResult WHERE TestResult.ID IN (1,2,3,...)
不,您不会总是根据中的
按顺序获得结果
要明确,并添加一个orderby
子句
SELECT FailureDetails
FROM TestResult
WHERE ID IN (1,2,3,...)
ORDER BY ID;
如果它们是按
子句中的订购的,我会感到惊讶。因为你没有
orderby,你可能会得到PK顺序的结果,但我也不相信这一点
如果顺序很重要,则应明确设置:
SELECT TestResult.ID, TestResult.FailureDetails FROM TestResult WHERE TestResult.ID IN (1,2,3,...)
ORDER BY TestResult.ID
根据您的示例,您总是希望按
ID
的顺序排列,还是需要支持任意顺序?按ID的顺序排列就可以了。根据下面的答案,我现在也选择TestResult.ID。