如何实现一个SQL访问二个SQL数据库?
我有二个SQL数据库,他们的结构及编码都是一样的,需要做一个汇总,我怎么样才能在一个SQL中即可以将符合要求的数据都汇总到一张表内?在连接的时候我用了如下的代码:pbulic cnn 
pbulic cnn1
pbulic rstsub mylink()
set cnn= new adodb.conncention
set rst= new adodb.recordstcnn.open "...datasoure=004"
cnn1.open  "...datasoure=005"
end sub
我怎么折腾这个SQL总是写不出来,在DB数据库中有联帮数据库,可是在SQL中却没有,我该怎么办啊?知道的请指教!谢谢!

解决方案 »

  1.   

    select * from table1 union select * from table2
      

  2.   

    SQL本身的导入导出工具就可以实现啊。
    编程时可以使用BCP语句。
      

  3.   

    select * from db1.dbo.t1 
    union 
    select * from db2.dbo.t2
      

  4.   

    楼主是用remote server 么?
      

  5.   

    用联合查询,可问题的关键是如何连接数据库呢?select * from db1.dbo.t1 
    union 
    select * from db2.dbo.t2这是连接查询二个表,这个我知道,这时候的CNN.open如何写?
      

  6.   

    在数据库一中作一个视图Create View SelUn As SELECT * FROM T1 UNION SELECT * FROM DB2.DBO.T2
    打开一个数据库一的连接
      

  7.   

    如果是同一台服务器上的SQL数据库,连接db1就可以了,SQL语句就如:
    select * 
    from db1.dbo.tb1 s,db2.dbo.tb1 t
    where s.id=t.id
      

  8.   


    一、标准模块
    Option Explicit
    Public g_Cnn As ADODB.Connection '全局连接Public Function Connect() As Boolean  '连接数据库
    On Error GoTo err
    Dim strConn As String    If Connect = True Then Exit Function
        
        Set g_Cnn = New ADODB.Connection
        strConn = "Driver={SQL Server};Server=yourServer;Uid=sa"
        g_Cnn.CursorLocation = adUseClient
        g_Cnn.Open strConn
        
        Connect = True
      
    Exit Functionerr:
        Connect = False
        MsgBox err.DescriptionEnd Function二、窗体Private Sub cmdExcute_Click()
    Dim sql As String
    Dim rs As ADODB.RecordsetSet rs = New ADODB.Recordset
     
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenStaticsql = "select * from db1.dbo.tb1 union select * from db2.dbo.tb2"
    Set rs = g_Cnn.Execute(sql)'……处理g_Cnn.Close
    Set g_Cnn = NothingEnd Sub
      

  9.   

    select sum(字段) from (select * from db1.dbo.tb1 union select * from db2.dbo.tb2)a