Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con datos de dos bases distintas

Estas en el tema de Consulta con datos de dos bases distintas en el foro de Mysql en Foros del Web. Hola tengo un sistema de gestión desarrollado en PHP7 y MySQL. Un cliente me lo compró para gestionar dos empresas distintas, por lo tanto en ...
  #1 (permalink)  
Antiguo 09/07/2020, 10:53
 
Fecha de Ingreso: mayo-2003
Mensajes: 514
Antigüedad: 17 años, 5 meses
Puntos: 6
Consulta con datos de dos bases distintas

Hola tengo un sistema de gestión desarrollado en PHP7 y MySQL.
Un cliente me lo compró para gestionar dos empresas distintas, por lo tanto en el hosting hice dos bases de datos exactamente iguales, una para cada empresa.
Ahora el problema es que mi cliente me pide listados e informes que necesitan datos de ambas bases de datos. Por ejemplo: listado de facturas emitidas entre dos fechas de ambas empresas.
Mi pregunta es: ¿se pueden hacer consultas SQL sobre dos tablas que estén en bases de datos diferentes? ¿Cómo se hace?
¿Uds. como encararían este problema?

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 10/07/2020, 12:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 15 años, 6 meses
Puntos: 839
Respuesta: Consulta con datos de dos bases distintas

Si ambas bases de datos están en el mismo servidor, técnicamente es posible hacer la consulta simplemente especificando la base de datos:
Código MySQL:
Ver original
  1. (
  2.     SELECT * FROM base_de_datos1.misma_tabla
  3. )
  4. (
  5.     SELECT * FROM base_de_datos2.misma_tabla
  6. )
No obstante, tendrás problemas de rendimiento y dificultades de mantenimiento si sigues por ese lado. Probablemente la mejor opción sea rediseñar la base de datos para que los datos estén en el mismo lugar si la idea es que sea administrado en conjunto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.



La zona horaria es GMT -6. Ahora son las 19:53.