是否可以通过SQL和mySql中具有数据库的内部联接从不同数据库获取信息?

时间:2011-06-10 07:17:17

标签: mysql sql sql-server database join

我有mySql数据库的项目A,我有另一个带有msSql的项目B.我已从A连接数据库并从B中获取数据。但现在我需要在A和B中使用内连接。是否可以在同一服务器和不同服务器中使用数据库?任何帮助将不胜感激。

提前致谢

2 个答案:

答案 0 :(得分:2)

是的,它应该是可能的。首先,您需要将MySQL服务器链接到MS SQL Server 见this reference。其次,您可能需要使用子查询来选择正确的列并对它们进行连接;

SELECT *
FROM
  (SELECT ms_column1, ms_column2 FROM MSSQLTABLE) AS mssql
JOIN
  (SELECT my_column1, my_column2 
   FROM openquery(LINKED_SERVER, 'SELECT column1, column2 FROM MYSQLTABLE') AS mysql
  ON mssql.ms_column1 = mysql.my_column1

不幸的是未经测试。

答案 1 :(得分:1)

不是让两个不同的数据库在它们之间进行通信,而是可以将通信逻辑移动到编程层。例如,使用PDO和PHP,您可以连接到两个数据库,获取数据,混合并生成结果。您可以创建一个PHP类的抽象层,从而独立于A或B数据库获取信息,之后您将不再关心它,因为您将使用PHP对象而不是直接使用数据库。