david_uh
13-04-2008, 16:35:29
hola foro
Estoy almacenando informacion sobre ventas en mi tabla ventas con los campos:
Id, fecha, total, igv, idlocal,iddocumento, nro documento. fecha
y mi tabla detalle venta
idventa, idprroducto, cantidad, total, utilidad.
engo una abla para mis productos tal que asi:
id, nombe, presentacion. marca, categoria.
como podria hace para recuperar las las utilidades por c/u de los productos que tengo, en un deteminado periodo de ventas
Esoy usando group by pero al juntar las tablas con inner join no funciona como quiero.
Gracias por cualquie alcance
Delphius
13-04-2008, 16:54:28
Hola David_uh, ¿Podrías indicar la consulta que estás haciendo? Y en lo posible explicar mejor el problema?
No se que interpretar cuando dices en un período determinado de fechas. Si es lo que pienso, se hace a través de Between.
Aquí dos respuestas:
http://www.clubdelphi.com/foros/showthread.php?t=53453&highlight=between+fecha+firebird
http://www.clubdelphi.com/foros/showthread.php?t=53274&highlight=between+fecha+firebird
Saludos,
jachguate
13-04-2008, 20:37:08
hola foro
Estoy almacenando informacion sobre ventas en mi tabla ventas con los campos:
Id, fecha, total, igv, idlocal,iddocumento, nro documento. fecha
y mi tabla detalle venta
idventa, idprroducto, cantidad, total, utilidad.
engo una abla para mis productos tal que asi:
id, nombe, presentacion. marca, categoria.
como podria hace para recuperar las las utilidades por c/u de los productos que tengo, en un deteminado periodo de ventas
Lo primero, es hacer un join que nos devuelva todos los registros que queremos:
Se me ocurre que podría ser:
select p.marca, p.nombre, v.fecha, dv.utilidad
from venta v
inner join detalle_venta dv
on dv.idventa = v.id
inner join producto p
on p.id = dv.idproducto
Cuando estas seguro de tener la consulta que devuelve todos los registros de interés, aplicar el agrupamiento tal como nos convenga, por ejemplo, si queremos totales de utilidades por mes para cada producto, podría ser:
select p.marca, p.nombre, extract(month from v.fecha) mes,
extract(year from v.fecha) anio,
sum(dv.utilidad)
from venta v
inner join detalle_venta dv
on dv.idventa = v.id
inner join producto p
on p.id = dv.idproducto
group by 1, 2, 3, 4
order by 1, 2, 4, 3
Hasta luego.
;)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.