![]() |
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... |
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.
|
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. |
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 aparentemente tus tablas no tienen ninguna relación... por ello podes crear un stored procedure que te devuelva los datos que requeris... algo como:
Su uso luego sería
Hasta luego. ;) añadido: La sintaxis la he puesto de memoria... asi que puedo fallar fácilmente, pero la idea si está bien plasmada.... |
Tienes razon pero no tenia mucho tiempo...
Cita:
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 |
|
Muchas gracias..
Saludos. Héctor. |
La franja horaria es GMT +2. Ahora son las 09:22:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi