Можно ли получить информацию из другой базы данных с внутренним объединением, имеющим базу данных в SQL и mySql? - PullRequest
3 голосов
/ 10 июня 2011

У меня есть проект A с базой данных mySql, и у меня есть другой проект B с msSql. Я подключил базу данных из A и получил данные из B. Но теперь мне нужно использовать внутреннее соединение для таблиц в A и B. Возможно ли это сделать с базами данных на одном и том же сервере и на другом сервере? Любая помощь будет оценена.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Да, это должно быть возможно.Во-первых, вам нужно будет связать ваш сервер MySQL с вашим сервером MS SQL.
См. эту ссылку .Во-вторых, вам, вероятно, потребуется использовать подзапросы, чтобы выбрать правильные столбцы и выполнить их объединение;

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 голос
/ 10 июня 2011

Вместо того, чтобы две разные базы данных взаимодействовали между собой, вы можете перенести логику связи на уровень программирования.Например, используя PDO и PHP, вы можете подключиться к обеим базам данных, получить данные, смешать их и получить результат.Вы можете создать уровень абстракции классов PHP, которые получают информацию независимо от баз данных A или B, и в дальнейшем вам это больше не понадобится, поскольку вы будете работать с объектами PHP, а не напрямую с базами данных.

...