• Viernes 8 de Noviembre de 2024, 19:19

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - fre_saga

Páginas: [1]
1
VB .NET / problema con query para cierre de mes
« en: Domingo 2 de Junio de 2013, 19:31 »
buenos dias me presento me llamo fredy y vivo en el salvador 
el motivo de este mensaje es para pedirles ayuda para terminar una query la cual sera la encargada para realizar un cierre de mes
hasta el momento tengo diseñada para que me consulte los  detalles de las las tablas compra_dt y venta_dt lo cual funciona perfectamente asi esta
Código: [Seleccionar]
SELECT  a.cod_prod, b.cantida AS cant_compra, b.ptotal AS tota_compra, c.cantida AS cant_venta,c.ptotal AS total_venta  FROM existencias a
LEFT JOIN (SELECT cod_prod, SUM (cantida) AS cantida, SUM (ptotal) AS ptotal  FROM compra_dt GROUP BY cod_prod) b   ON
a.cod_prod = b.cod_prod
LEFT JOIN (SELECT cod_prod, SUM (cantida) AS cantida, SUM (ptotal) AS ptotal  FROM venta_dt GROUP BY cod_prod) c   ON
a.cod_prod = c.cod_prod
GROUP BY a.cod_prod

pero ahora quiero filtra los datos por rango de fechas de las tablas de cabecera  de compra_cb y venta_cb

esta es la estructura de las tablas
Código: [Seleccionar]
CREATE TABLE compra_cb ( nfactura  varchar(25) PRIMARY KEY,  fecha    date,  cod_prov  varchar(25),  total   varchar(15));

CREATE TABLE compra_dt ( nfactura  nvarchar(25),  cod_prod  varchar(25),  cantida   float,  punitario   float,  ptotal   varchar(13),
  costopromedio    float,  totalexistencia  varchar(13));

CREATE TABLE venta_cb ( nfactura  varchar(25) PRIMARY KEY NOT NULL,  venta  integer,  baja  integer,  fecha  date,
  cliente   varchar(80),  total     varchar(15));

CREATE TABLE venta_dt (  nfactura  varchar(25),  cod_prod   varchar(25),  cantida  float(8,2),  costopromedio  float(8,2),
  ptotal         varchar(13));

ya tengo ratos de estar queriendo filtrar por la cabecera pero no lo logro espero que ustedes me puedan ayudar a resolver el problema

de esta forma lo estado intentando
Código: [Seleccionar]
SELECT a.cod_prod, b.cantida AS cant_compra, b.ptotal AS tota_compra, c.cantida AS cant_venta,c.ptotal AS total_venta  FROM existencias a
LEFT JOIN (SELECT cod_prod, SUM (cantida) AS cantida, SUM (ptotal) AS ptotal  FROM compra_dt GROUP BY cod_prod) b   ON
a.cod_prod = b.cod_prod
LEFT JOIN (SELECT cod_prod, SUM (cantida) AS cantida, SUM (ptotal) AS ptotal  FROM venta_dt GROUP BY cod_prod) c   ON
a.cod_prod = c.cod_prod
INNER JOIN compra_cb ON compra_cb.nfactura = compra_dt.nfactura
INNER JOIN venta_cb ON venta_cb.nfactura = venta_dt.nfactura
WHERE compra_cb.fecha BETWEEN 01/06/2013 AND 30/06/2013
GROUP BY a.cod_prod
me da este error "SQL Error: no such column: compra_dt.nfactura" en la siguiente linea              INNER JOIN compra_cb ON compra_cb.nfactura = compra_dt.nfactura

Páginas: [1]