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)
-   -   sumar mismos campos (https://www.clubdelphi.com/foros/showthread.php?t=86319)

anubis 18-07-2014 22:24:56

sumar mismos campos
 
Buenas,
Aqui ando molestando con sql firebird.
El titulo del asunto no creo que sea muy acertado pero no se me ocurrio otra cosa, perdon.

Tengo una base de datos en la que tengo ventas y ventasdetalle como maestra y detalle respectivamente.

el proceso es como de cualquier supermercado grande pero en pobre ;), es decir, que se inicia una venta, de ahi ya se van pasando todos los productos en ventasdetalle hasta que se cierra esa venta y te dan el ticket. Hasta ahi todo bien y sin problema.

El problema que propongo, por si se puede hacer a traves de sql es, que al finalizar todas las ventas del dia por ejemplo, podamos obtener un listado de todas las ventas del dia y poder agruparlas por, por ejemplo:

Se vendieron 200 paquetes de patatas y fueron $400 euros, 100 cocacolas 600ml y fueron 110 euros...

La instruccion sql me saca las lineas de detalle asociadas a la tabla ventas, pero no se como hacerle para agrupar por producto o si bien hay otra forma milagrosa.

Código SQL [-]
SELECT a.*,b.* from ventas a join ventasdetalle b on a.ID_VENTA=b.ID_VENTA order by b.ID_PRODUCTO

Perdon sino me explique bien

anubis 18-07-2014 23:05:58

Me respondo a mi mismo ;).

Código SQL [-]
select a.ID_PRODUCTO,sum(a.PVP) as total, sum(a.CANTIDAD) as total2 from VENTASDETALLE a where a.id_venta >=20 group by a.ID_PRODUCTO

Con esa sentencia no me hace falta la tabla maestra de ventas sino solo la de ventasdetalle puesto lo que necesitaba agrupar los productos, el monto y las cantidades que los consigo con un sum.

gracias

Casimiro Noteví 18-07-2014 23:11:58

Pero ahí sacarías todo, de todos los días, y supongo que quieres el de una fecha determinada o entre fechas.
¿Es así?

anubis 19-07-2014 01:13:15

sí tienes razón. en este caso lo q filtro es desde el corte 20 hasta el final o bien, como dices entre dos cortes o entre fechas.


La franja horaria es GMT +2. Ahora son las 12:03:31.

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