首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

根据给的ID顺序排序,该如何解决

2012-03-22 
根据给的ID顺序排序表名A,ID为自增,Name为Varchar(20),数据如下IDName1张三2李四3王五4赵六5刘七现在有的S

根据给的ID顺序排序
表名A,ID为自增,Name为Varchar(20),数据如下

ID Name
1 张三
2 李四
3 王五
4 赵六
5 刘七

现在有的Sql语句如下
select * from A where id in (3,2,4,1)
得到结果如下
ID Name
1 张三
2 李四
3 王五
4 赵六

希望得到的结果需要跟in扩后里面的顺序一样,也就是下面这样
ID Name
3 王五
2 李四
4 赵六
1 张三

请问该如何实现?



[解决办法]

SQL code
order by charindex(','+ltrim(id)+',', ',3,2,4,1,')
[解决办法]
declrae @str varchar(100)
set @str=''
select @str=@str+','+ltrim(id) from tbla
select * from tblb
where id in(select id from tbla)
order by charindex(','+ltrim(id),@str)
[解决办法]
select * from A where id in (3,2,4,1) order by charindex( ',' + cast(id as varchar) + ',' , ',3,2,4,1,')

热点排行
Bad Request.