1

我有 3 个数据库

  - ECPNWEB
  - ECPNDB
  - ECPNPOS

还有3张桌子

  - account -> ECPNWEB
  - branch -> ECPNDB
  - terminal -> ECPNPOS

和具有多列的表

  - account (accntid,managedby,account,first,last,....)
  - branch(branch_code,company_code,name,distributor,cutoff,....)
  - terminal(retail,brand,model,serial,status,....)

我想要做的就是获取特定的列。我想要的输出是:

 managedby for table account and ECPNWEB database
 name for table branch and ECPNDB database
 model for table terminal and ECPNPOS database..

像这样

 |managedby|name|model

提前致谢

4

1 回答 1

1
  1. sp_addlinkedserver()是你需要的
  2. exec sp_addlinkedserver @server = '*server_name*'//---用你的替换*server_name*
  3. 它看起来像这样:例如select * from [server].[database].[schema].[table]
  4. 查看此链接http://msdn.microsoft.com/en-us/library/ms190479.aspx

我不是关于它,但试试这个并告诉我什么是 o/p。例如,您可以尝试这种方式

SELECT firstdb.*, seconddb.*
FROM Server1.Database1.dbo.myTable AS firstdb
INNER JOIN Server2.Database2.dbo.myTable AS seconddb
   ON firstdb.id = seconddb.id

EDIT2:试试这个,不确定这会给你想要的结果,未经测试...用你的替换 *column_name*

SELECT account.managedby, branch.name, terminal.model FROM ECPNWEB.dbo.account, ECPNDB.dbo.branch, ECPNPOS.dbo.terminal AS a INNER JOIN account ON account.(column_name)=branch.(column_name)  INNER JOIN terminal ON account.(column_name)=terminal.(column_name)
于 2012-12-21T08:39:24.597 回答