Albert es un gran lector, aunque no ha participado en la Comunidad en 2024.
¡Seguro que habrá algo que compartir en 2025!
Biografía del usuario
404: la biografía no se encuentra
Miembro desde 16 nov, 2016
Publicaciones:
Respuestas:

tambien funciona... 😁 . y yo dale que te pego con los CASE. ...

voy a ir desarrollar un poco mas la consulta , a ver si discurro algo mas y no hace falta vuestra atencion. ( seguro que vuelvo , jaja)

vaya ... un placer y muy agradecido de me hayais atendido las consultas tan rapido. ... y tan eficaces.

p.d.

dejo la sentencia completa como ejemplo por si  a alguien le sirve de modelo

v.0

SELECT a1.Articulo, a1.DescArticulo, AVG(a1.PrecioCoste)
FROM Comp.AlbaranLin a1
WHERE a1.FechaLinea in (SELECT TOP 3 a2.FechaLinea FROM Comp.AlbaranLin a2 WHERE a1.Articulo = a2.Articulo ORDER BY a2.FechaLinea DESC ) (*opcional *AND a1.Articulo = '337' AND a1.FechaLinea > DATE(CURRENT_DATE-15) *)
GROUP BY a1.Articulo order by a1.Articulo asc ;

v.1

SELECT a1.Articulo, a1.DescArticulo, AVG (a1.PrecioCoste)
FROM Comp.AlbaranLin a1
WHERE (a1.FechaLinea in (SELECT TOP 3 a2.FechaLinea FROM Comp.AlbaranLin a2 WHERE a1.Articulo = a2.Articulo ORDER BY a2.FechaLinea DESC ) AND a1.Articulo = '337' AND a1.FechaLinea >= DATE(CURRENT_DATE-15))
OR
(a1.FechaLinea in (SELECT TOP 2 a2.FechaLinea FROM Comp.AlbaranLin a2 WHERE a1.Articulo = a2.Articulo ORDER BY a2.FechaLinea DESC ) AND a1.Articulo = '337' AND a1.FechaLinea < DATE(CURRENT_DATE-15))
GROUP BY a1.Articulo order by a1.Articulo asc ;

si, es correcta . y ademas bastante simple cuando las ves. lastima tener que molestar. muy agradecido por la aportacion. es relativamente sencilla , 😅

he intentado ir un poco mas alla , y mejorarla o mas bien complicarla. y he vuelto a ser incapaz de ubicar bien los case when para que funcione.

queria conseguir que si la fecha mas reciente tiene mas de quince dias " ... (a1.FechaLinea > DATE(CURRENT_DATE-15))  ..."  solo coja las 2 ultimas fechas . o sea que en lugar de un TOP 3 , sea un TOP 2.

he probado con los CASE WHEN dentro del select y fuera cambiando la instruccion pero no consigo que funcione.

de todas formas , la solucion ofrecida es para mi un gran aporte y cubre casi la totalidad de casos de la consulta. muchas gracias.

Insignias y certificaciones Credly:
Albert aún no tiene insignias o certificaciones Credly.
Insignias de Global Masters:
Albert aún no tiene medallas de Global Masters.
Seguidores:
Albert aún no tiene seguidores.
Siguiendo:
Albert aún no sigue a nadie.