我在db1中有一个表(tb1),在db2中有一个tb2。
如果我按如下方式加入两个表select *from db1.tb1 join db2.tb2 on tb1.id=tb2.id
如果db1是默认数据库,那么我可以如下编写select *from tb1 join db2.tb2 on tb1.id=tb2.id
现在,我想要的是不使用tb2的前缀,即(db2)
最佳答案
如果不将前缀指定为DB2
,则SQL Server将尝试仅在连接的数据库中查找表,查询将失败。
您可以尝试为表创建synonyms
。
CREATE SYNONYM tbl2 FOR db2.dbo.tb2
这样可以隐藏数据库。
关于sql - 查询具有来自不同数据库的两个表,每个表没有数据库前缀,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54457669/