【问题标题】:Execute a Query with join in two tables from different database of same MySQL Server在来自同一 MySQL 服务器的不同数据库的两个表中执行连接查询
【发布时间】:2012-11-09 10:16:24
【问题描述】:

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

例如查询将类似于:

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

tbl_a,tbl_b 分别是来自 2 个不同数据库 DB1,DB2 的 2 个表

怎么做?如何在连接字符串中不指定数据库但在sql查询中使用C#.?

【问题讨论】:

  • 有什么问题?如果您对两个数据库都有权限,您的查询应该可以工作
  • 是的,你可以这样做。示例查询: SELECT a.userID, b.usersFirstName, b.usersLastName FROM databaseA.dbo.TableA a 内部连接数据库 B.dbo.TableB b ON a.userID=b.userID

标签: c# mysql sql database


【解决方案1】:

其实这个问题已经有人回答了,下面是答案:

是的,假设该帐户具有您可以使用的适当权限:

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

您只需在表引用前加上它所在的数据库的名称。

【讨论】:

    【解决方案2】:

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

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

    查询将是这样的:

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

    【讨论】:

    • For this SQL User have access on both Databases. 在 C# 中如何?
    • 我的意思是 SQL Server 用户,即 UserX 应该可以访问两个数据库。因此我们可以使用相同的凭据访问这两个数据库。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    相关资源
    最近更新 更多