我想用SQL语句对一组记录进行排序,然后在这组已排序的记录中提取前n条记录
我的语句是:
select top n * from 表名
where 字段名1 in
(select 字段名1 from 表名
where 字段名=常量
orderby 字段名2)
语句运行时出错,请帮我看一下错在哪里,有更好的语句请赐教!!!!
我的语句是:
select top n * from 表名
where 字段名1 in
(select 字段名1 from 表名
where 字段名=常量
orderby 字段名2)
语句运行时出错,请帮我看一下错在哪里,有更好的语句请赐教!!!!
解决方案 »
- 淘宝应用开发
- 多线程编程入门,请求指导
- D6上怎么用D7的TXPManifest控件呀?
- 指针地址偏移的语法
- 关于datetimePicker的日期问题
- 關於代碼復用,問一下這兩段代碼怎麼才能復用
- 求售销系统源代码,delphi+sql,有的话还可以给更多的分,前十名一定有分
- 有挑战性,如何在DBGrid的中每一行动态地一个checkbox?
- 如何将数据集中的纪录全部删除?
- 如何按着ListBox的某一Item上下移动它的位置。
- 请教:我用Delphi6写了一个ActiveForm,用Delphi的run|Register ActiveX Server注册就可以用,但自己做的CAB注册的就用不了,我查了注册
- Database Desktop 字段问题,在线等,100分
where 字段名1 in
(select 字段名1 from 表名
where 字段名=常量)
orderby 字段名2
where 字段名1 in
(select 字段名1 from 表名
where 字段名=常量
) orderby 字段名2
这个表达式有很多错误,我调试的时候
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select top 2 * from user');
//adoquery1.SQL.Add('where article=1');
adoquery1.SQL.Add('where username in');
adoquery1.SQL.Add('(select username form admin');
adoquery1.SQL.Add('where admin.username=fyol)');
//adoquery1.SQL.Add('order by userid');
adoquery1.Open;
select top n * from 表名
where 字段名1 in
(select 字段名1 from 表名
where 字段名 like '01%')
orderby 字段名2
我把以上SQL语句分行加入ADOQuery里面,可是程序出错.一下是程序
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add( 'select top n * from 表名')
ADOQuery1.SQL.Add( 'where 字段名1 in ')
ADOQuery1.SQL.Add( '(select 字段名1 from 表名')
ADOQuery1.SQL.Add('where 字段名 like '01%')')
ADOQuery1.SQL.Add('orderby 字段名2')
ADOQuery1.open;
编译时指出ADOQuery1.SQL.Add('where 字段名 like '01%')')有误,
出错提示: missing operator or semicolon
这段程序该如何改
你可以在数据库里面建立一个存储过程,然后在dephi中调用这个过程应该就好使了把
select top n * from 表名
where 字段名1 in
(select 字段名1 from 表名
where 字段名=常量
) orderby 字段名2