SQL where in 语句顺序问题

现在获取到了一组ID字段的值,然后我想依据这组值把相关数据取出来。数据库中数据时这样:idname----------1001name11002name21003name... 现在获取到了一组ID字段的值,然后我想依据这组值把相关数据取出来。
数据库中数据时这样:
id name
----- -----
1001 name1
1002 name2
1003 name3
1004 name4
1005 name5
select id , name from test where id=('1001','1005','1003');
但是,我想要按照'1001','1005','1003'的顺序取出来,而上面语句无法实现,不知道该怎么写,或者有类似的语句能实现的,打架请告诉我,谢谢啦
是的,谢谢大家,语句确实写错了,应该是select id , name from test where id in('1001','1005','1003');
简单说 in()里面这个就是我获取的字符串,没办法,我现在时改别人的程序,字段类型已经固定了,只能是varchar2了,只能这样了,再次谢谢大家。看来只有用lvxianling兄弟的办法了,非常感谢。
展开
 我来答
lvxianling
2009-12-18 · TA获得超过639个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:194万
展开全部
你的语句有问题应该这样
select id , name from test where id in('1001','1005','1003');

如果你想按顺序的话 这样就可以
select id , name from test where id='1001'
union all
select id , name from test where id='1005'
union all
select id , name from test where id='1003'
百度网友be02abe51
2009-12-18 · TA获得超过430个赞
知道答主
回答量:386
采纳率:0%
帮助的人:178万
展开全部
如果想这样显示出来,那么它的排序方式就要发生改变,你没有给排序方式 的时候,一般都是按照第一个字段进行排序,你在后面加一个order by name就可能达到你想要的目的,但是不完全这样,因为你想要达到的目的不一定是按照name字段排序的,可能只是你自己的一时想法,可能很难实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2009-12-18 · TA获得超过1232个赞
知道大有可为答主
回答量:1245
采纳率:0%
帮助的人:1418万
展开全部
select id , name from test where id in (1001,1005,1003); 取出来就是按顺序的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
翦乃司寇妞妞
2019-12-14 · TA获得超过3696个赞
知道大有可为答主
回答量:3039
采纳率:27%
帮助的人:186万
展开全部
你的语句有问题应该这样
select
id
,
name
from
test
where
id
in('1001','1005','1003');
如果你想按顺序的话
这样就可以
select
id
,
name
from
test
where
id='1001'
union
all
select
id
,
name
from
test
where
id='1005'
union
all
select
id
,
name
from
test
where
id='1003'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4312
2009-12-18 · TA获得超过1002个赞
知道小有建树答主
回答量:2076
采纳率:0%
帮助的人:872万
展开全部
select id , name from [test] where id=(1001,1005,1003)
按说id不应该是字符型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式