我有一个记录ID列表,我想要从SQL Server 2008中的表中检索单个值。
我的查询是:
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,...)
不,您将不会总是获得基于的结果IN。
IN
要明确,并添加一个ORDER BY子句。
ORDER BY
SELECT FailureDetails FROM TestResult WHERE ID IN (1,2,3,...) ORDER BY ID;