我忘记access是否支持union了。 sql server: select * from a where ... union select * from a where ...
可以,用如下语句 select a.* from [db1].[b2] a,[db3].[b1] b where a.dm=b.dm
那Adoquery的connectionstring属性该如何写?
with adoquery1 do begin close; sql.clear; sql.add('select * from a where ... union select * from a where ...'); oepn; end;
var connectstring:string; begin adoquery1.connectstring := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + InitDB + ';Data Source=' + ServerName; with adoquery1 do begin close; sql.clear; sql.add(select a.* from [db1].[b2] a,[db3].[b1] b where a.dm=b.dm'); oepn; end; 这回该知道怎么写了吧?
你可以试试看加一个临时数据库,把符合的记录放到临时数据库里,之后打开,这样就很简单了!而且速度应该是很快的。 select * into 临时库 from XXX where....select * into 临时库 from XXX where....select * into 临时库 from XXX where....
l_xiaofeng(流水不腐) 的补充就比较完整了.如果有多于两个数据库,就用 select a.* from [db1].[b2] a,[db3].[b1] b [db4].[db4] c where a.dm=b.dm and b.dm=c.dm这样,以此类推
sql server:
select * from a
where ...
union
select * from a
where ...
select a.* from [db1].[b2] a,[db3].[b1] b where a.dm=b.dm
begin
close;
sql.clear;
sql.add('select * from a where ... union select * from a where ...');
oepn;
end;
connectstring:string;
begin
adoquery1.connectstring := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + InitDB + ';Data Source=' + ServerName;
with adoquery1 do
begin
close;
sql.clear;
sql.add(select a.* from [db1].[b2] a,[db3].[b1] b where a.dm=b.dm');
oepn;
end;
这回该知道怎么写了吧?
select * into 临时库 from XXX where....select * into 临时库 from XXX where....select * into 临时库 from XXX where....
select a.* from [db1].[b2] a,[db3].[b1] b [db4].[db4] c where a.dm=b.dm and b.dm=c.dm这样,以此类推