----SQL中两个参数怎么同时传递----??
在第一个queryA中使用SQL语句得到了A表的很多条数据,这些数据有AID和AMXID(明细ID)两个字段,现在要根据queryA中所有数据的AID和AMXID的值,用另外一个queryB去查B表的数据,请问我怎么把前面queryA的AID和AMXID两个参数传递到后面的查询中去???
谢谢!!!
[解决办法]
begin
QueryB.Close;
QueryB.Sql.Text := Foramt( 'select * from B where (字段1=%s) and (字段2=%s) ',[ QueryA.FieldValues[ 'AID '],QueryA.FieldValues[ 'AMXID '] ]);
QueryB.Open;
end;
//具体应用中,还要根据你的字段类型略有改动。
[解决办法]
//至于是传递QueryA哪一条记录的AID、AMXID值,那就要结合QueryA的记录游标移动了(First、Next、Last等)
Foramt ---> Format -_-
[解决办法]
我的意思是所有满足条件的记录都查询出来,即QueryA的游标不移动,请问怎么实现???
--------------------
没看明白,能不能重新表达一下。
[解决办法]
?
看一下,你是不是这个意图:
表A:
AID AMXID 其他字段
-----------------------
1 11
2 22
表B:
AID AMXID 其他字段
-----------------------
1 11 111
2 11 211
1 22 122
2 22 222
1 11 111
3 33 333
要得到的查询结果是:
AID AMXID 其他字段
-----------------------
1 11 111
2 22 222
1 11 111
如果是这个意思,联合查询就可以了:
'select b.aid, b.amxid, b.其他字段 from a,b where (a.aid=b.aid) and (a.amxid=b.amxid) '
[解决办法]
不必使用两个Query,也不必使用临时表,表AB直接联合查询就可以。上面已经给你写了表A与表B联合查询的例子。
或者是我一直没有懂你的意思。我只能帮你这些了。
[解决办法]
如果是这个意思,联合查询就可以了:
'select b.aid, b.amxid, b.其他字段 from a,b where (a.aid=b.aid) and (a.amxid=b.amxid) '