当前位置:编程学习 > C#/ASP.NET >>

简单问题,来者有分!!!!!!!!!!!!!!!!

selete * from Table where ID in (5,7,3,9)
按括号内的顺序排列
--------------------编程问答-------------------- ... 不简单 --------------------编程问答-------------------- 括号内的数字没有排序规则可言...怎么能排序?只能在应用程序里自己写排序方法... --------------------编程问答-------------------- 真的不简单哈. --------------------编程问答-------------------- 把括号里的东西写入临时表或表变量,然后再查询出这个临时表.再排序. --------------------编程问答-------------------- 不懂,帮顶 --------------------编程问答-------------------- select * from list where yuwen in(1,2,3) order by yuwen --------------------编程问答-------------------- 先按照数字大小排序,然后通过影射关系更新 --------------------编程问答-------------------- string S = "As,fB,dfd,df"
selete * from Table where ID in (S)
我的意思是按"S"内容的顺序从第一个到最后一个,即从"As"到"df"
--------------------编程问答-------------------- selete * from Table where ID in (selete id from Table order by id)
--------------------编程问答-------------------- selete * from Table where ID in (selete id from Table order by id)
是这个意思么>>? --------------------编程问答-------------------- 这个可以么?
Demi1001(Demi) --------------------编程问答-------------------- selete * from Table where ID in (5,7,3,9) order by id
或者说是这个意思么>>?
--------------------编程问答-------------------- string S = "As,fB,dfd,df"
selete * from Table where ID in (S)

从数据库中提取数据:
第一条是ID="AS"的记录
第二条是ID="fB"的记录
..
最后是ID="df"的记录


--------------------编程问答-------------------- 怎么没有人明白我要问什么,郁闷

--------------------编程问答-------------------- 的确不简单 这么多人都没解决 --------------------编程问答-------------------- 加order by id不行吗?你要什么效果!?? --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 你可以定义一个临时表,
declare @Tmp table
{
other filed...
orderBy int 
}
然后把数字为5的找出来 orderBy =1
然后把数字为7的找出来 orderBy =2
...
这样就可以了 --------------------编程问答-------------------- 写个自定义函数。
CREATE function F_Split(@str varchar(200),@pattern varchar(10))
returns @temp table([Sid]  [int] IDENTITY (1, 1) NOT NULL ,Myvalues varchar(100))
--实现split功能的函数
--说明:@str,字符串,如“10,11,12”;@pattern,分隔标志,如“ ,”
as 
begin
declare @i int
set @str=rtrim(ltrim(@str))
set @i=charindex(@pattern,@str)
while @i>=1
begin
insert @temp values(left(@str,@i-1))
set @str=substring(@str,@i+1,len(@str)-@i)
set @i=charindex(@pattern,@str)
end
if @str<>'' 
insert @temp values(@str)
return 
end 

select * from Table where ID in (select myvalues from F_Split('5,7,3,9',',') ) --------------------编程问答-------------------- 然后select * from  @Tmp  order by orderBy --------------------编程问答-------------------- 我上面最后句写错了:

select A.* from Table  as A, F_Split('8,9,5,10',',') as B  where A.ID = B.myvalues order by B.sid --------------------编程问答-------------------- 楼主再说详细点吧。 --------------------编程问答-------------------- 可以创建一个临时表,用个循环对集合s(2,5,3,6,1)里的每个进行查询,然后把查到的结果插入到临时表中就可以。 --------------------编程问答-------------------- 顶了! --------------------编程问答-------------------- 看了一下 难度太大了 --------------------编程问答-------------------- 分数不够分了,我选择弃权 --------------------编程问答-------------------- 不容易啊 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 不简单。。。顶 --------------------编程问答-------------------- 什么啊,看不懂 --------------------编程问答-------------------- bu dong --------------------编程问答-------------------- 不简单啊。。。 --------------------编程问答-------------------- 项 --------------------编程问答-------------------- selete * from Table where ID =3
union
select * from Table where ID != 3 order by ID; --------------------编程问答-------------------- 白来了,没有接到分
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,