Joins entre dos bases de datos diferentes

Guardar este artículo en Delicious Compartir este artículo en Twitter Compartir este artículo en Facebook

Después de pasarme una semanita tirado en la cama con gripe culera, he vuelto a ser una persona y aquí estoy de nuevo al pie del cañon y con el estomago en su sitio.

Os voy a contar lo que descubrí gracias a UPALQLELA, que por cierto ahora tiene un blog de opinión llamado La crítica del día. Tal vez para muchos es algo resabido pero para mi fue algo nuevo, que no pensaba que fuera posible.

La cosa es que me encontre con la necesidad de hacer un INNER JOIN entre una tabla que estaba en la base de datos A y otra en la base de datos B, lo que para mi cabeza era imposible así que me puse a darle vueltas para ver como podía replicar los datos en ambas bases de datos y así poder hacerlo. Después de comentarlo con esta persona, me dijo ¿pero no están ambas bases de datos en el mismo servidor?, a lo que le respondí que sí. Pues si hay un usuario con permisos en ambas BD haz el INNER JOIN, que sí se puede. ¿Y cómo es eso? le dije yo, y la respuesta fue tan sencilla como ésto:

SELECT * FROM `database1`.`tableA` INNER JOIN `database2`.`tableB` ON `database1`.`tableA`.`field1` = `database2`.`tableB`.`field3` WHERE 1 

Solo era eso, al igual que para indicar la tabla la ponemos delante del campo separada por un punto, para indicar la base de datos solo hay que ponerla delante de la tabla separada por un punto.

Deja un comentario