[求助]怎样将在两个不同库上运行出来的数据合并到一块? ( 积分: 100 )

  • 主题发起人 主题发起人 filon51
  • 开始时间 开始时间
F

filon51

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样能够将
Query1.Open1

Query2.Open2
所运行出来的数据合并到一块?

其中,Query1和Query2中的sql语句只是取数据的原表表名不同,其余都一样,但是,Open1和Open2是从两个不同的库(比如正式库和历史库)中分别运行Query1和Query2中的sql语句。

比如:
Query1.Sql: .......select * from table1............
Query2.Sql: .......select * from table2............

table1是正式库中的表,table2是历史库中的表


请各位大侠不吝赐教,谢谢!
 
怎样能够将
Query1.Open1

Query2.Open2
所运行出来的数据合并到一块?

其中,Query1和Query2中的sql语句只是取数据的原表表名不同,其余都一样,但是,Open1和Open2是从两个不同的库(比如正式库和历史库)中分别运行Query1和Query2中的sql语句。

比如:
Query1.Sql: .......select * from table1............
Query2.Sql: .......select * from table2............

table1是正式库中的表,table2是历史库中的表


请各位大侠不吝赐教,谢谢!
 
用两个Query 当然是分别返回两个数据集了,如果你要将两个结果集堆加在一起,临时建一个Table好了,将返回的两个数据集相继追加到该表,最终通过该表反应结果,不就解决问题了嘛,但是要注意的是,两个Query返回的数据不要因为有Unique限制,而出现重复冲突。
 
这两个query是没有什么unique限制的,因为,这两个query所得出的结果对应的字段是一模一样的,不同的只是记录,比如说,正式库上运行query1得出一个记录,而历史库上运行query2得出八个记录,只需要把这一个记录和八个记录合并成一个数据集即可。

to:逝风
关于建临时表,以及怎样调用这个临时表追加记录,本人不是很清楚,望指教!
 
反正都是*,那就重新写语句

select * from [dbo].xx.table1 union select * from [dbo].xx.table1

大概是这个意思
 
不对,这位哥们,不应当是这样的,因为,它们两个query是从不同的库上运行的,不能简单地使用union合并在一起的
 
那就没有办法了,变通的方法,然后就看你取出来要做什么了,可以两个query都循环出来,然后再做处理,比如把数据放到ClientDataSet里面去等等,一个想法,仅供参考
 
关键是怎样放到ClientDataSet表里面去?
怎样去创建一个带有字段的数据集(ClientDataSet),然后又是怎样去往里面插入记录?
 
for循环query


ClientDataSet1.Insert
 
我已经解决这个问题,不过依然感谢chenybin,逝风对我的帮助!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部