2012-11-09 184 views
0

我需要执行一个查询(仅选择),并且连接来自同一个服务器的不同数据库的两个表。执行一个查询,连接来自同一个MySQL服务器的不同数据库的两个表

例如查询将类似于:

SELECT * FROM DB1.tbl_a LEFT JOIN DB2.tbl_b ON DB1.tbl_a.fieldX = DB2.tbl_b.fieldY WHERE .... 

tbl_atbl_b从2个不同的数据库DB1DB2分别

2个表如何做到这一点?如何连接到MySQL服务器,而无需在连接字符串中指定数据库,但在sql查询中使用C#。?

+2

有什么问题?如果您有两个数据库的权限,则您的查询应该可以工作 – GarethL

+0

是的,您可以这样做。示例查询:SELECT a.userID,b.usersFirstName,b.usersLastName FROM databaseA.dbo.TableA一个内部连接数据库B.dbo.TableB b ON a.userID = b.userID – Vasanthan

回答

1

其实这个问题已经回答了,这里就是答案:

是,假设帐户具有相应的权限,你可以使用:

SELECT ... 
    FROM A.table t1 
    JOIN B.table2 t2 ON t2.column = t1.col 

你只需要前缀与表参考它驻留在数据库的名称。

0

我需要执行一个查询(仅适用于)与连接来自不同DAT两个表基地同一台服务器。

对于此SQL用户可以访问这两个数据库。

查询将是这样的:。。

SELECT * FROM [DB1] [DBO] [tbl_a] T1 LEFT JOIN [DB2] [DBO] [tbl_b] T2 ON T1.fieldX = T2.fieldY WHERE ....

+1

'为此SQL用户可以访问这两个数据库.'如何在C#中? – Champ

+0

我的意思是SQL Server用户即UserX应该可以访问这两个数据库。所以我们可以使用相同的信用访问这两个数据库。 –

相关问题