![]() |
Consulta con group by
Saludos,
Mirad tengo el siguiente problema. En un almacen tengo movimientos de fichas y quisiera realizar la siguiente consulta. Coger el ultimo movimiento de todas las fichas que pertenecen a un grupo y que me muestre su existencia y su precio en ese ultimo movimiento. Lo que intento hacer es esto:
Me da error porque en el group by no pongo EXISTENCIAS pero es que si lo pongo me cogerá TODOS los movimientos de cada ficha y solo quiero coger el último movimiento junto sus existencias y precio en ese último movimiento. Alguna sugerencia? |
Prueba con esto. Puede que no te funcione dependiendo de tu motor de bbdd, pero...
SELECT PRODUCTO,MAX(FECHA),LAST(EXISTENCIAS) FROM MATERIALES,MOVIMIENTOS WHERE MATERIALES.CODIGO=MOVIMIENTOS.CODIGO GROUP BY PRODUCTO ORDER BY FECHA DESC Suerte y saludos |
LAST En Firebird
No me va, lo que busco es lo que dices pero en FIREBIRD... :(
|
tu estructura no me queda clara... pero el uso de tablas derivadas (creo que así le llamaron algunos autores... yo prefiero llamarles inline views) te dará una idea que debiera funcionar:
Funcionará en firebird 2 o superior. En versiones anteriores, deberás primero crear una vista con la tabla anidada (q1) y reestructurar el query. Hasta luego. ;) |
Felicidades
Me ha servido chavales, muchas grácias :D
|
La franja horaria es GMT +2. Ahora son las 10:51:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi