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 26-04-2004
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Poder: 21
NickName Va por buen camino
Consulta Complicada

Hola...
Necesito hacer una consulta donde tengo que involucrar como 5 tablas, que son:

EncNotas
EncFacturas

donde registro las ventas diarias, que pueden ser ventas con Notas o Facturas, y otras tablas que son:

AbonosNotas
AbonosFacturas

donde registro los abonos de las ventas a credito, y por ultimo una tabla de:

Gastos

donde registro los gastos del dia.

Lo que necesito es hacer un reporte de las ventas diarias en ese reporte tengo que poner las ventas que se hicieron con notas y facturas y todos los abonos que se hicieron en esa fecha para sumar los abonos con las notas y facturas hechas, y por ultimo restarle los gastos del dia.

la verdad solo he hecho consultas simples con sql y no soy un experto, si algien me pudiera dar una idea de como hacer lo que quiero se los agradeceria mucho...

Saludos...
Responder Con Cita
  #2  
Antiguo 26-04-2004
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
Como no proporcionas la estructura de tus tablas, en lo unico que puedo ayudarte, es diciendote que vas a tener que hechar mano de: joiner's, vistas e incluso de procedimientos almacenados, dependiendo del motor de bases de datos que estes usando.
Responder Con Cita
  #3  
Antiguo 27-04-2004
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Poder: 21
NickName Va por buen camino
Gracias por contestar.

Uso InterBase 6 Open Source y Delphi 6.

los componentes IBx.

CREATE TABLE "ENCABEZADONOTA"
(
"IDENCABEZADONOTA" "ID",
"TIPOVENTA" "CADENA",
"VENDEDOR" "CADENA",
"CLIENTE" "CADENA",
"PLAZO" "CADENA",
"FECHALIMITEPAGO" DATE,
"ENGANCHE" DECIMAL(15, 2) Default 0.00,
"RESTO" DECIMAL(15, 2) Default 0.00,
"LUGAREXPEDICION" "CADENA",
"VIAEMBARQUE" "CADENA",
"NUMPEDIDO" "CADENA",
"FECHAVENTA" DATE Default 'Now',
"TOTAL" DECIMAL(15, 2) Default 0.00,
"SUBTOTAL" DECIMAL(15, 2) DEFAULT 0.00,
"IVA" DECIMAL(15, 2) DEFAULT 0.00,
"OBSNOTA" BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
PRIMARY KEY ("IDENCABEZADONOTA")
);

CREATE TABLE "ENCABEZADOFAC"
(
"IDENCABEZADOFAC" "ID",
"TIPOVENTA" "CADENA",
"VENDEDOR" "CADENA",
"CLIENTE" "CADENA",
"PLAZO" "CADENA",
"FECHALIMITEPAGO" DATE,
"ENGANCHE" DECIMAL(15, 2) Default 0.00,
"RESTO" DECIMAL(15, 2) Default 0.00,
"LUGAREXPEDICION" "CADENA",
"VIAEMBARQUE" "CADENA",
"NUMPEDIDO" "CADENA",
"FECHAVENTA" DATE Default 'Now',
"TOTAL" DECIMAL(15, 2) Default 0.00,
"SUBTOTAL" DECIMAL(15, 2) DEFAULT 0.00,
"IVA" DECIMAL(15, 2) DEFAULT 0.00,
"OBSFACTURA" BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
PRIMARY KEY ("IDENCABEZADOFAC")
);

CREATE TABLE "ABONOSNOTA"
(
"IDABONONOTA" "ID",
"IDENCABEZADONOTA" "ID",
"VENDEDOR" VARCHAR(50),
"CANTIDAD" DECIMAL(15, 2) Default 0.00,
"FECHAPAGO" DATE,
"FECHAVENCIMIENTO" DATE,
"INTERES" DECIMAL(15, 2) DEFAULT 0.00,
"TOTAL_A_PAGAR" DECIMAL(15, 2) DEFAULT 0.00,
"SUPAGO" DECIMAL(15, 2) DEFAULT 0.00,
"PAGADO" "SI_NO",
PRIMARY KEY ("IDABONONOTA")
);

CREATE TABLE "ABONOSFAC"
(
"IDABONOFAC" "ID",
"IDENCABEZADOFAC" "ID",
"VENDEDOR" VARCHAR(50),
"CANTIDAD" DECIMAL(15, 2) Default 0.00,
"FECHAPAGO" DATE,
"FECHAVENCIMIENTO" DATE,
"INTERES" DECIMAL(15, 1) DEFAULT 0.00,
"TOTAL_A_PAGAR" DECIMAL(15, 2) DEFAULT 0.00,
"SUPAGO" DECIMAL(15, 2) DEFAULT 0.00,
"PAGADO" "SI_NO",
PRIMARY KEY ("IDABONOFAC")
);

CREATE TABLE "GASTOS"
(
"IDGASTOS" "ID" NOT NULL,
"FECHA" DATE DEFAULT 'Now',
"AUTORIZO" "CADENA",
"SOLICITO" "CADENA",
"CONCEPTO" BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
"CANTIDAD" DECIMAL(15, 2),
CONSTRAINT "PK_GASTOS" PRIMARY KEY ("IDGASTOS")
);

Ojala y me puedan ayudar....

Saludos.
Responder Con Cita
  #4  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Hola nickname.

Cuando se te pida poner las estructuras de tus tablas, te recomiendo no pegar simplemente las sentencias create table, pues, salvo que tengas un pharser de SQL integrado, es bastante dificil de leer. Es mejor poner algun esquema de la forma:

Código:
EncabezadoNota
==============
id        Entero
TipoVenta VarChar
Vendedor  VarChar
Etc. etc.
También es deseable que indiques explicitamente las relaciones entre tablas, y cualquier otro dato importante.

aparentemente tus tablas no tienen ninguna relación... por ello podes crear un stored procedure que te devuelva los datos que requeris... algo como:

Código SQL [-]
Create Procedure 
resumen_diario (fecha Date)
returns (
  TotalFacturas  Decimal(15,2),
  TotalNotas      Decimal(15,2),
   etc
)
AS
Begin
  Select sum(total)
    from EncabezadoFac
   where fechaventa = :fecha
    into :TotalFacturas;
  /*
    Añadir los otros selects que resuman las notas, abonos y gastos 
    para por último añadir:
  */
  Suspend;
end
^

Su uso luego sería

Código SQL [-]
Select *
  from resumen_diario('2004-01-01');

Hasta luego.



añadido: La sintaxis la he puesto de memoria... asi que puedo fallar fácilmente, pero la idea si está bien plasmada....
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 28-04-2004 a las 07:30:08.
Responder Con Cita
  #5  
Antiguo 29-04-2004
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Poder: 21
NickName Va por buen camino
Tienes razon pero no tenia mucho tiempo...

Cita:
aparentemente tus tablas no tienen ninguna relación...
Entre EncabezadoNota y Encabezado Factura no hay ni entre los Gastos, si hay entre EncabezadoNota y AbonosNota tambien en EncabezadoFactura y AbonosFac...

Gracias por la respuesta se me hace interezante lo intentare de esa forma, ya que siempre escuchaba lo de los Procedimientos Almacenados pero nunca abia entendido ninguno hasta hoy que me pucistes el ejemplo, al que si le entiendo, y por lo tanto un buen libro que me puedas recomendar para aprender sobre los Procedimientos almacenados...

Gracias..
Saludos
Responder Con Cita
  #6  
Antiguo 29-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Por lo pronto, este artículo de Alfonso Ricaño Bringas te sirve para iniciar.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 29-04-2004
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Poder: 21
NickName Va por buen camino
Muchas gracias..

Saludos.

Héctor.
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


La franja horaria es GMT +2. Ahora son las 08:25:21.


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