2012-12-21 56 views
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 

感谢

+0

它不是太清楚对我来说你想如何获取数据。 选项1选择受管理的FROM帐户来自分支的UNION SELECT名称 或 Oprion 2 SELECT account.ManagedBy,Branch.Name FROM Account,Name。 表之间是否有共同的联系? –

+0

3台服务器或1台服务器上的3个数据库? – ErikE

+0

1.这些数据库是否在同一个实例中? 2.这些表格如何相互关联? – Kaf

回答

1
  1. sp_addlinkedserver()是你所需要的
  2. exec sp_addlinkedserver @server = '*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:试试这个,不知道这将要给你期望的结果,没有测试...取代*列名*与你

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) 
+0

我添加了链接服务器,现在问题是我不知道查询得到输出..请帮助.. @Vinayak –

+0

@ KristianHernanC.Manuel你可以检查编辑?我的机器没有SQL服务器或任何数据库引擎。你能编辑你的文章并告诉你正在运行什么查询吗? –

+0

@他正在工作,但与主题无关..期望的输出不存在..请帮助..谢谢 –

相关问题