用Query1查询到一组记录后,我想在这一组记录的基础上再进行查询,该如何做? 用嵌套的SQL语句吧,要不就只有建临时表了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以将查询的结果存入一个中间表(可以只记录结果中的各条记录的唯一标识),然后对中间表进行查询如果不想用中间表,可以用Locate等一系列数据集的操作进行查询,具体的可以查一些资料。 把原来查询的语句副给一个字符串,以后在查在调整该字符串;如:str:=select * from 表第一次query.sql.add(str);str:=str+ 'where a=100'query.sql.add(str); I am try itthank you 1.可以把两个条件连接起来查询2。用子查询3。用历史表 select * from table into #temtable 1.最简单的方法就是过滤了,设置Query的Filter2.象楼上说的,把原来的SQL语句赋给一个字符串第一次lsql := 'Select * From yourtable Wherer ...';Query1.SQL.Add(lsql);第二次lsql := 'Select * From (' + lsql + ') Where ...';Query1.SQL.Add(lsql); 3.临时表也是个方法,但系统临时表#table估计不行,这类临时表系统会自动释放,除非你在同一个事务里完成 1.最简单的方法就是过滤了,设置Query的Filter2.象楼上说的,把原来的SQL语句赋给一个字符串第一次lsql := 'Select * From yourtable Wherer ...';Query1.SQL.Add(lsql);第二次lsql := 'Select * From (' + lsql + ') Where ...';Query1.SQL.Add(lsql); 3.临时表也是个方法,但系统临时表#table估计不行,这类临时表系统会自动释放,除非你在同一个事务里完成 如果对速度要求不高,使用filter吧. select * from a in (=)(select * from b) 为什么我写的:select * from ( select * from Table ) 在 delphi 自带工具 dbexplorer 里可以运行,而在 query.sql.text 里却报错:invaild.....????? 如果表很大,要做多次查询,那得建多少临时表啊?我还是想用嵌套的 select 来解决? 我还是想用嵌套的 select 来解决! 不行: select * from (select * from 表)在ms sql server 中出错!哪有这种写法啊 AnsiString sql='select * from table1';qry.sql.add(sql);qyr.sql.add('select * from table1 where a=100');这也不是二次查询吧!其实也只是一个sql 后面加了条件而已.qry.sql.add(sql);这句简直是脱裤子放屁!试了试临时表,ok! 数据提供程序或其他服务返回E_FAIL状态 delphi ADOQuery1 关于存储过程,大家帮我看看,用的是interbase数据库 大家能帮忙看一看这段代码那里有问题吗,急!!! 怎样实现机器名称------救助 如何一条一条将数据插入listview控件中去 寻求代码 在线等待 分数立给 ★★FastReprot 与 TeeChart的安装问题! ★★ 如何获得三个线程的各自运行时间及总时间呢? 郁闷(全部分只有这么多) 高手请赐教?? 一个令我气愤不已的问题-关于ADO控件插入 雨痕XP窗体的问题 关于工资管理的问题????
如果不想用中间表,可以用Locate等一系列数据集的操作进行查询,具体的可以查一些资料。
如:str:=select * from 表
第一次query.sql.add(str);
str:=str+ 'where a=100'
query.sql.add(str);
thank you
2。用子查询
3。用历史表 select * from table into #temtable
2.象楼上说的,把原来的SQL语句赋给一个字符串
第一次
lsql := 'Select * From yourtable Wherer ...';
Query1.SQL.Add(lsql);
第二次
lsql := 'Select * From (' + lsql + ') Where ...';
Query1.SQL.Add(lsql);
3.临时表也是个方法,但系统临时表#table估计不行,这类临时表系统会自动释放,除非你在同一个事务里完成
2.象楼上说的,把原来的SQL语句赋给一个字符串
第一次
lsql := 'Select * From yourtable Wherer ...';
Query1.SQL.Add(lsql);
第二次
lsql := 'Select * From (' + lsql + ') Where ...';
Query1.SQL.Add(lsql);
3.临时表也是个方法,但系统临时表#table估计不行,这类临时表系统会自动释放,除非你在同一个事务里完成
在 delphi 自带工具 dbexplorer 里可以运行,而在 query.sql.text 里却报错:invaild.....?????
我还是想用嵌套的 select 来解决?
select * from (select * from 表)
在ms sql server 中出错!哪有这种写法啊
qry.sql.add(sql);
qyr.sql.add('select * from table1 where a=100');
这也不是二次查询吧!其实也只是一个sql 后面加了条件而已.
qry.sql.add(sql);这句简直是脱裤子放屁!
试了试临时表,ok!