Ver Mensaje Individual
  #3  
Antiguo 13-04-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 30
jachguate Va por buen camino
Cita:
Empezado por david_uh Ver Mensaje
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:

Código SQL [-]
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:

Código SQL [-]
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.

__________________
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: 13-04-2008 a las 20:39:55.
Responder Con Cita