比如:
数据库名:db1 用户名:user1 密码:pass1 数据库中表名:tab1
数据库名:db2 用户名:user2 密码:pass2 数据库中表名:tab2请问,怎样实现在一查询语句中查询 tab1 和 tab2 的数据
谢谢

解决方案 »

  1.   

    select * from OPENROWSET
    (
    'SQLOLEDB',
    'SERVER=db1;uid=user1;pwd=pass1;Database=库名',
    '查询语句例如select * from tab1'
    ) as a
    union all
    select * from OPENROWSET
    (
    'SQLOLEDB',
    'SERVER=db2;uid=user2;pwd=pass2;Database=库名',
    '查询语句例如select * from tab2'
    ) as a
      

  2.   

    先建立linkserver,然后
    SELECT top 10 * from  [192.168.4.35].[DbName].[dbo].[tablename]
      

  3.   

    1.同一台服务器
    select * from db1..tb1 a join db2..tb2 b on a.id=b.id
    2.不同服务器,现在server1上建立一个server2的连接服务器(企业管理器中安全性中有,填入ip用户名\密码;或者用sql语句,我在外面玩没环境可以查下帮助),然后sqlselect * from db1..tb1 a join [server2name].dbname.[所有者].tb2 on  a.id=b.id