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

Inner join a varias base de datos

Estas en el tema de Inner join a varias base de datos en el foro de Mysql en Foros del Web. Hola compañeros de Foro del Web, de antemano gracias por la ayuda que me han prestado en otros temas, aqui voy con mi duda Quisiera ...
  #1 (permalink)  
Antiguo 12/04/2011, 11:18
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 2
Inner join a varias base de datos

Hola compañeros de Foro del Web, de antemano gracias por la ayuda que me han prestado en otros temas, aqui voy con mi duda

Quisiera saber si es posible hacer INNER JOIN, LEFT JOIN, RIGHT JOIN o OUTER JOIN a base de datos distintas, ya que necesito traerme datos de 2 base de datos, actualmente lo estoy haciendo con la funcion UNION la cual me trae los datos en un solo resultado pero no me agrupa como yo quiero, he intentando hacer INNER JOIN y LEFT JOIN pero me da error de que no consigue el campo en la clausula ON, les dejo aqui mi codigo a ver que opinan.

Código SQL:
Ver original
  1. SELECT FAM_DESCRI,ROUND(SUM(MOV_CANTID*(MOV_LOGICO*(-1))),2) AS 'total_ventas' FROM sgecarniceria.dpmovinv
  2.   LEFT JOIN sgecarniceria_crtr.dpclientescero ON sgecarniceria.dpclientescero.CCG_CODSUC = sgecarniceria_crtr.dpdoccli.DOC_CODSUC
  3.                AND sgecarniceria.dpclientescero.CCG_TIPDOC = sgecarniceria_crtr.dpdoccli.DOC_TIPDOC
  4.                AND sgecarniceria.dpclientescero.CCG_NUMDOC = sgecarniceria_crtr.dpdoccli.DOC_NUMERO
  5.              AND sgecarniceria.dpclientescero.CCG_TIPTRA=sgecarniceria_crtr.dpdoccli.DOC_TIPTRA
  6.   LEFT JOIN sgecarniceria_crtr.dpdoccli ON sgecarniceria.dpdoccli.DOC_NUMERO = sgecarniceria_crtr.dpmovinv.MOV_DOCUME
  7.                AND sgecarniceria.dpdoccli.DOC_TIPDOC = sgecarniceria_crtr.dpmovinv.MOV_TIPDOC
  8.                AND sgecarniceria.dpdoccli.DOC_CODSUC=sgecarniceria_crtr.dpmovinv.MOV_CODSUC
  9.                AND sgecarniceria_crtr.dpmovinv.MOV_INVACT=1
  10.   LEFT JOIN sgecarniceria_crtr.dpinv ON sgecarniceria.dpinv.INV_CODIGO = sgecarniceria.dpmovinv.MOV_CODIGO
  11.   INNER JOIN sgecarniceria_crtr.dpcla ON sgecarniceria.dpcla.CLA_CODIGO = sgecarniceria_crtr.dpinv.INV_CLA
  12.   INNER JOIN sgecarniceria_crtr.dpfamilias ON sgecarniceria.dpfamilias.FAM_CODIGO = sgecarniceria_crtr.dpinv.INV_FAM
  13.   INNER JOIN sgecarniceria_crtr.dpgru ON sgecarniceria.dpgru.GRU_CODIGO = sgecarniceria_crtr.dpinv.INV_GRUPO
  14.   INNER JOIN sgecarniceria_crtr.dpsucursal ON sgecarniceria.dpsucursal.SUC_CODIGO = sgecarniceria_crtr.dpdoccli.DOC_CODSUC
  15.          WHERE  FAM_DESCRI = 'CARNE DE PRIMERA' AND DOC_TIPTRA='D' AND MOV_INVACT=1 AND MOV_APLORG='V'
  16.                 AND MOV_FISICO = -1 AND MOV_LOGICO = -1
  17.      GROUP BY FAM_DESCRI,'total_ventas'

Espero puedan ayudarme,

Saludos
  #2 (permalink)  
Antiguo 14/04/2011, 07:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Inner join a varias base de datos

La sintaxis tanto para la lista de campos, como para el FROM, el ON, WHERE, ORDER BY o lo que sea es:

nombrebbdd.nombretabla.nombrecampo

revisa tu script por que creo que no la sigues.

Cita:
...
sgecarniceria_crtr.dpinv
ON sgecarniceria.dpinv.INV_CODIGO = sgecarniceria.dpmovinv.MOV_CODIGO
...
(en el FROM sin el campo claro)

El uso de alias te puede hacer la cosa mas simple

FROM nombrebbdd.nombretabla aliasX

donde aliasX es una palabra que identificará la tabla y la puedes usar en todo el script en sustitucion de bbdd.tabla...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 14/04/2011 a las 07:08
  #3 (permalink)  
Antiguo 14/04/2011, 12:52
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Inner join a varias base de datos

Hola quimfv hare prueba de la manera que me dices, solo agregue las base de datos, ya que esa misma consulta me funciona bien quitandole las bases de datos a las cuales hace refrencia

Gracias por tu respuesta y probare de la manera que me sugieres.

Saludos

Etiquetas: join
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.