假设我们有两个数据库,一个名为db1,另一个名为db2。 两个数据库都有一个名为Employees的表。无论如何都要加入两个表的结果,即使它们具有相同的名称?
请注意,这两个表没有冲突的字段名称。我知道这是愚蠢的,但我们必须为现有的数据库创建一个扩展数据库,为了保持简单,我们希望在两个数据库中都有相同的表名。
非常感谢帮助,谢谢
我也知道这里有一个类似的问题,但我没有发现它在这方面有用。
答案 0 :(得分:1)
是的,你绝对可以这样做,你只需要像这样对它们进行别名:
SELECT ... FROM [db1].[dbo].[Employees] as e1 INNER JOIN [db2].[dbo].[Employees] as e2 ON ...
然后,您可以通过引用e1.MyColumn
或e2.MyOtherColumn
来获取所需内容。
答案 1 :(得分:1)
您应该能够通过完全限定名称来引用表格。如果他们使用不同的模式,您可以说:
SELECT * FROM Schema1.MyTable as T1 JOIN Schema2.MyTable as T2 ON T1.Something = T2.SomethingElse
如果它们实际上是不同的数据库,那么您需要一个数据库链接,在这种情况下它会变成MyTable1 @ Database1等。
答案 2 :(得分:0)
您应该能够通过database.owner.table引用它们,例如db1.dbo.Employees和db2.dbo.Employees(假设表由dbo拥有)
答案 3 :(得分:-1)
从db1,db2中选择*其中db1.employee = db2.employee这是什么意思?