前两天客户给返回一个bug,说列表编辑完,保存时候原来的列表顺序变了,因为列表行用的js生成的,所以将数据的ID存储的,想了想,觉得这个js应该是没问题的,于是看了下数据的字段,发现ID字符串的顺序也是没问题的。
最终看了下sql生成的数据源,发现数据源的顺序和ID字符串的顺序是不一样的,于是把sql 在数据库执行了下,发现IN的数据自动根据字段不排序了。于是,便开始找答案,
网上的该答案经验证可以。列此已做记录
SELECT * FROM dbo.TableName WHERE ID IN (37,35,36) ORDER By charindex(','+ CONVERT(NVARCHAR(100),ID) +',', ',37,35,36,')

本文探讨了一个SQL查询中数据顺序与ID字符串顺序不一致的问题,并通过使用特定SQL语句解决了该问题。重点在于理解数据库执行顺序与预想的不同,以及如何通过SQL技巧确保查询结果符合预期。
2256

被折叠的 条评论
为什么被折叠?



