查询中在查询(30分)

  • 主题发起人 主题发起人 刃血
  • 开始时间 开始时间

刃血

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手好!
本人很懒,知道这个问题已经有人问过,不过懒得查了。
如何从一个查询结果集中实现再查询。
当然是用SQL查询了。
 
方法太多了
1.select * from (select ........)
2.create view a as (select ...)
select * from a
3.select * into tablename1 from .......
select * from tablename1
.........
 
不建临时表是不可能实现的
 
能不能从一个结果集——query结果集中再查询
 
chenlh已经回答你啦
 
我从来不建临时表,也实现得很好
 
tquery.sql.text

中追加where 条件

如:
oldwhere:=原来的条件

新where条件=oldwhere +' and '+新条件
 
为何我用了
with query1 do begin
close;
sql.clear;
sql.add('create view a as (select ...)');
OPEN;
方法,却提示我错误。
 
如果想从DataSet中查询,只能用Filter。
不知道是否各种DataSet是否都支持,不好意思,我只用ADO。
 
to 刃血:
>>OPEN;
-->
execsql;


 
execsql是执行不返回结果集的SQL语句!
 
同意楼上所说的
 
怎么解决,to kusanagi
 
采用SQL子查询
 
嗨!你看看我下面的SQL,是不是你想要的


差额

select 'asa', '111', '差额', a.comcode, a.comname, a.itemdcode, b.itemname, b.speci, a.TQTY, b.qtyunit, '0', '2000-01-01', a.shelfno, 'HERE', '2000-01-01', serialno, lotno
from (
Select itemdcode, comcode, comname, shelfno, serialno, lotno, sum(aa)-SUM(bb) AS TQTY
from (
Select itemdcode, comcode, comname, shelfno, serialno, lotno, sum(aa)-SUM(bb) AS TQTY
from (
select itemdcode, comcode, comname, shelfno, serialno, lotno, sum(qty) AS aa, 0 AS bb
from t_count
where optype in ('实盘')
group by itemdcode, comcode, comname, shelfno, serialno, lotno

union

select itemdcode, comcode, comname, shelfno, serialno, lotno, 0 AS aa, sum(qty) AS bb
from t_count
where optype in ('机盘')
group by itemdcode, comcode, comname, shelfno, serialno, lotno )
group by itemdcode, comcode, comname, shelfno, serialno, lotno )
where not TQTY<>0
) AS a INNER JOIN t_itembase AS b ON a.itemdcode=b.itemdcode
 
to 程云:
我的查询关系没怎么简单。
不过我想到了一个更好的数据库结构解决了。
谢谢各位参与。
你们看这分.......
 
怎么没人再回答?分数太可怜啦!!!!!!!
试试下面的算法:
select top 100 * from table_name where KEY_WORD not in
(select top N*100 KEY_WORD from table_name)
怎么循环靠你自己了!
 
多人接受答案了。
 
后退
顶部