Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema con Group by (https://www.clubdelphi.com/foros/showthread.php?t=55303)

david_uh 13-04-2008 16:35:29

Problema con Group by
 
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/show...fecha+firebird
http://www.clubdelphi.com/foros/show...fecha+firebird

Saludos,

jachguate 13-04-2008 20:37:08

Cita:

Empezado por david_uh (Mensaje 279662)
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.

;)


La franja horaria es GMT +2. Ahora son las 18:35:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi