1
« 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
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
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
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