Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
El Administrador de proyectos anterior había sugerido utilizar una base de datos para cada sistema ejemplo:

Inventario, Ventas, Planilla, Contabilidad desconozco porque la sugerencia para mi es igual a lo que sugeriste...
Cita:
Casimiro dice: Lo normal es tener una base de datos con las tablas necesarias.
Sin embargo en Inventario solamente hay información de producto y Ventas los detalles de ventas, etc. pero ahora me solicitaron realizar una consulta el cual tengo que consultar los productos vendidos pero la referencia de consulta no es el codigo de barra para traer la información encontrada en la base de datos ventas si no un campo llamado CODIGO3 que aparentemente lo usaron como código alternativo.

ahora la consulta debe ser a partir de ese CODIGO3 pero ese código no esta en la tabla DETALLE_FACTURA...



Espero haberme explicado...

Saludos...
Responder Con Cita
  #2  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Talking

Estos son los campos de la tabla de inventario y Detalle_facturas

Código SQL [-]
CREATE TABLE INVENTARIO (
  FECHA_ALTA DATE NOT NULL,
  COD_BARRAS VARCHAR(30) CHARACTER SET NONE NOT NULL COLLATE NONE,
  CODIGO2 VARCHAR(30) CHARACTER SET NONE COLLATE NONE,
  CODIGO3 VARCHAR(30) CHARACTER SET NONE COLLATE NONE,
  COD_FAMILIA VARCHAR(15) CHARACTER SET NONE COLLATE NONE,
  COD_UBICACION INTEGER,
  COD_UNIDAD INTEGER,
  NOMBRE VARCHAR(200) CHARACTER SET NONE NOT NULL COLLATE NONE,
  NOMBRE2 VARCHAR(100) CHARACTER SET NONE COLLATE NONE,
  PRECIO_COMPRA FLOAT DEFAULT 0 NOT NULL,
  FECHA_ULTIMACOMPRA DATE,
  STOCK_MINIMO CANTIDAD_FLOAT NOT NULL,
  PORC_IV NUMERIC(15, 3) DEFAULT 13 NOT NULL,
  GRAVADO LOGICO NOT NULL,
  IMPUESTO_INCLUIDO LOGICO NOT NULL,
  IMAGEN BLOB,
  PREVEN_1 FLOAT DEFAULT 0 NOT NULL,
  BASECALCULO_1 INTEGER,
  COEFA_1 NUMERIC(6, 2),
  SUMAFIJA_1 FLOAT DEFAULT 0 NOT NULL,
  REDONDEO_1 INTEGER,
  PRECIOSINIV_1 FLOAT DEFAULT 0 NOT NULL,
  PRECIOCONIV_1 FLOAT DEFAULT 0 NOT NULL,
  STOCK CANTIDAD_FLOAT NOT NULL,
  PRECIO_DEFECTO INTEGER DEFAULT 1,
  FK_PROVEEDOR INTEGER,
  CONSIGNACION CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  PESONETO NUMERIC(18, 3),
  PRESENTACION NUMERIC(10, 3),
  VENTAALPESO LOGICO);

Esta es la Tabla DETALLE_FACTURAS
Código SQL [-]
CREATE TABLE DETALLE_FACTURAS (
  ID_DETALLE_FACTURA INTEGER NOT NULL,
  FECHA DATE DEFAULT 'NOW',
  CODIGO_FAMILIA VARCHAR(15) CHARACTER SET NONE DEFAULT '' COLLATE NONE,
  CODIGO_ARTICULO VARCHAR(30) CHARACTER SET NONE NOT NULL COLLATE NONE,
  DESCRIPCION ART_NOMBRE DEFAULT '' NOT NULL,
  IMPORTE_UNITARIO NUMERIC(18, 2) DEFAULT 0,
  CANTIDAD CANTIDAD_FLOAT DEFAULT 0 NOT NULL,
  IMPORTE_IMPUESTO NUMERIC(18, 2) DEFAULT 0,
  PORC_IMPUESTO NUMERIC(6, 2) DEFAULT 0,
  GRAVADO CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  IMPUESTO_INCLUIDO CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  TIENE_SERIES CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  COMPROBANTE VARCHAR(12) CHARACTER SET NONE NOT NULL COLLATE NONE,
  IMPORTE_COSTO NUMERIC(18, 2) DEFAULT 0,
  IMPORTE_TOTAL NUMERIC(18, 2) DEFAULT 0,
  IMPORTE_DESCUENTO NUMERIC(18, 2) DEFAULT 0,
  PORC_DESCUENTO NUMERIC(6, 2) DEFAULT 0,
  FRACCIONADO CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  ID_FRACCION INTEGER DEFAULT 0,
  FRACCION CANTIDAD_FLOAT DEFAULT 0 NOT NULL,
  COMPUESTO CHAR(1) CHARACTER SET NONE DEFAULT 'N' COLLATE NONE,
  ANULADA CHAR(1) CHARACTER SET NONE DEFAULT 'N' NOT NULL COLLATE NONE,
  FK_PROVEEDOR INTEGER,

Ahora tengo esta consulta para traer los siguientes datos de la tabla de Inventario:

Código SQL [-]
SELECT DISTINCT NOMBRE2, CODIGO3 FROM INVENTARIO WHERE NOMBRE2 IS NOT NULL AND CODIGO3 IS NOT NULL
order by nombre2

y esta es la consulta que realizo en la tabla de DETALLE_FACTURAS:

Código SQL [-]
    select DETALLE_FACTURAS.CODIGO_ARTICULO,
         DETALLE_FACTURAS.DESCRIPCION,
         DETALLE_FACTURAS.CANTIDAD,
         DETALLE_FACTURAS.IMPORTE_UNITARIO,
         detalle_facturas.IMPORTE_TOTAL,
         detalle_facturas.IMPORTE_DESCUENTO,
         (detalle_facturas.IMPORTE_TOTAL-detalle_facturas.IMPORTE_DESCUENTO) TOTAL_VENTA
  from DETALLE_FACTURAS where detalle_facturas.CODIGO_ARTICULO = Codigo AND DETALLE_FACTURAS.FECHA between :FechaInicio and :FechaFin
   GROUP BY DETALLE_FACTURAS.CODIGO_ARTICULO, 
            DETALLE_FACTURAS.DESCRIPCION,
            DETALLE_FACTURAS.CANTIDAD,
            DETALLE_FACTURAS.IMPORTE_UNITARIO,
            detalle_facturas.IMPORTE_TOTAL,
            detalle_facturas.IMPORTE_DESCUENTO,
            TOTAL_VENTA

Ahora necesito es consultar por el CODIGO3 ya que este código se repite en varios productos o sea el codigo3 puede estar 50 articulos vendidos y hacer su respectiva sumas de totales..

ah... la BD esta en el mismo servidor... y es firebird 2.5...

creo que me explique mejor...

Saludos

Última edición por novato_erick fecha: 10-01-2013 a las 18:33:35.
Responder Con Cita
  #3  
Antiguo 10-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entonces, según dices, esas tablas pertenecen a bases de datos distintas.
Responder Con Cita
  #4  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:

Casimiro Notevi:
Entonces, según dices, esas tablas pertenecen a bases de datos distintas.
Así es... Las tablas que consulto están en dos base de Datos Diferentes dentro del mismo servidor de Base de Datos
Responder Con Cita
  #5  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Al Gonzalez:
¡Tremenda metida de pata de ese administrador!

¿Qué posibilidades tienes de unirlas en una sola?
En realidad se está trabajando en eso o sea se esta unificando todo sin embargo esta en desarrollo pero me toco a mi ir ya nadando con el río ya que esa fue una aplicación que habían desarrollado y esta hace 3 años en producción y necesitan información...

Saludos Al Gonzalez..
Responder Con Cita
  #6  
Antiguo 10-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En lugar de hacerlo con "execute stament", también puedes usar el método "clásico", tener 2 conexiones distintas, una a cada base de datos, ya sabes.
Puedes traerte los datos de una y meterlos en una tabla en memoria, luego consultas en la otra base de datos y "mezclas" los datos con los existentes en la tabla en memoria.
Responder Con Cita
  #7  
Antiguo 10-01-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Ok te entiendo Casimiro Notevi

Entonces si utilizo conexiones con componente por ejemplo DBExpress ya estaria cerrando este hilo y pasándolo a otro?


Saludos...
Responder Con Cita
  #8  
Antiguo 10-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por novato_erick Ver Mensaje
El Administrador de proyectos anterior había sugerido utilizar una base de datos para cada sistema ejemplo:

Inventario, Ventas, Planilla, Contabilidad desconozco porque la sugerencia [...]
¡Tremenda metida de pata de ese administrador!

¿Qué posibilidades tienes de unirlas en una sola?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como acceso a multiples bases de datos ferdanjua Firebird e Interbase 2 17-08-2010 12:59:08
Servidor con multiples bases de datos firebird drkirocorp Conexión con bases de datos 5 15-12-2009 17:54:55
Insertar un registro en multiples bases de datos. Gaim2205 Conexión con bases de datos 2 09-11-2007 00:15:13
Como hacer referencia a un query dentro de otro query? JuanBCT SQL 2 05-09-2006 18:35:25
Realizar una consulta (dbexpress) a dos bases de datos Firebird jmlifi Firebird e Interbase 0 27-06-2006 13:36:54


La franja horaria es GMT +2. Ahora son las 10:55:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi