SQL - Query a 4 bases de datos

 
Vista:
Imágen de perfil de Isaac Daniel
Val: 11
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Query a 4 bases de datos

Publicado por Isaac Daniel (8 intervenciones) el 10/10/2013 02:28:34
Buenas tardes tengan todos los de LaWebDelProgramador.

Pues resulta que quiero realizar un Reporte de Ventas en SQL server 2005, pero tengo el inconveniente de que os datos se encuentran en 4 diferentes bases de datos.

Desconosco el porque cuando se implemento el sistema crearon 4 bases de datos, tres de ellas con las mismas tablas.

De una manera muy general voy a describir mi entorno de trabajo

BDCatalogos
BDoficina
BDoficina2
BDoficina3

El reporte que yo requiero lo pude realizar uniendo BDCatalogos con la BDoficina1, pero no logro unir las otras dos BD para que me salga un reporte completo de todas las sucursales a la que se da informacion.

La consulta que hasta ahora tengo es la siguiente:

1
2
3
4
5
6
7
select LEFT (REPLICATE ('',30)  + CONVERT (CHAR,catsucursal.descripcion ,1),30) as SUC ,Convert(varchar(10),ventasdetalle.fechavta,20) as fecha,ventasdetallet.folio as FOLIO, ventasdetalle.codigoean as EAN,cat_produ.descripcion as DESCRIPCION,cat_familias.descripcion as FAMILIA, ventasdetalle.cantvend as CANTIDADVENDIDA, ventasdetalle.cantdev as CANTIDADDEVUELTA,((sum(ventasdetalle.cantvend))-(sum(ventasdetalle.cantdev))) as PIEZAS,((ventasdetalle.cantvend) * ((ventasdetalle.preciounit + ventasdetalle.impteiva)-imptedescto)) as IMPORTE
from BDofficina.DBO.ventasdetalle
inner join  BDcatalogos.DBO.cat_produ on vendet.codigoint=catproductos.codigo
inner join  BDcatalogos.DBO.cat_familias on cat_familias.codigo1=cat_produ.codfam1
inner join  BDcatalogos.DBO.cat_sucursales on cat_sucursales.codigo=vendet.farmacia And Cat_Familias.Codigo2 = Cat_Produ.CodFam2 And Cat_Familias.Codigo3 = Cat_Produ.CodFam3 And Cat_Familias.Codigo4 = Cat_Produ.CodFam4
WHERE  ventasdetalle.fechavta between '2013-01-01' and  Convert(char(10), getdate()-1, 20)
group by catsucursales.descripcion,vendet.fechavtasinhora, vendet.folio, vendet.codigoean, cat_produ.descripcion, cat_familias.descripcion , ventasdetalle.preciounit, ventasdetalle.impteiva, imptedescto,ventasdetalle.cliente,ventasdetalle.cant_dev, ventasdetalle.cant_vend

me devuelve esto

1
2
3
SUC                            fecha      FOLIO           EAN           DESCR                       FAMILIA           CANTVEN  CANTDEV  PIEZAS   IMPORTE
------------------------------ ---------- --------------- ------------- --------------------------- ----------------- -------- -------- -------- ---------
001 AZTECA                    2013-01-01 V00020100375699     752601547 BOCA DALUX DESCH C/10         ACCESORIOS    1.0000   0.0000   1.0000   7.0000

Pero solo de unas cuantas sucursales ya que las demas estan en las otras dos bases de datos (BDoficina2 y BDoficina3)

De antemano agradesco su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Query a 4 bases de datos

Publicado por giovanny (6 intervenciones) el 10/10/2013 16:52:45
buenos días

dentro de la BDcatalogos tiene una tabla DBO.cat_sucursales verdad en la BDoficina1 que tablas tiene ?

a si como une BDcatalogos con BDoficina1 seria el mismo proceso para unir BDcatalogos con BDoficina2, BDoficina3.

se supone que BDoficina1, BDoficina2, BDoficina3 son identicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaac Daniel
Val: 11
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Query a 4 bases de datos

Publicado por Isaac Daniel (8 intervenciones) el 19/10/2013 20:51:11
Asi es, pero encontre la solucion, no me complique la vida haciendo el query para concatenar las bases y mejor decidi que el mismo query que tenia poner un "UNION ALL" y pegar el mismo query pero con la segunda base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar