ir a la publicación Albert Forcadell · 9 mayo, 2023 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 a1WHERE 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 a1WHERE (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 ;
ir a la publicación Albert Forcadell · 9 mayo, 2023 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.
ir a la publicación Albert Forcadell · 20 sep, 2022 perdon , pero el fichero que contiene el script [<filename>] es un fichero .scr ? o .sql o que tipo de fichero va a cargar el comando RUN . en cualquier caso si pudiera ver un ejemplo de la instruccion y ademas el contenido de un fichero de ejemplo con sus lineas , seria suficiente supongo. gracias igualmente
ir a la publicación Albert Forcadell · 20 sep, 2022 por lo tanto, la parte de edicion del sql y ejecucion creo que esta resuelta. el tema es, puedo lanzar desde el shell la ejecucion de un archivo que contenga el SQL , o debo hacer un script que ejecute linea por linea las instrucciones sql que tengo en txt ????
ir a la publicación Albert Forcadell · 20 sep, 2022 al final acabo por responderme yo mismo... son las COMILLLAS SAMPLES>> << entering multiline statement mode >> 1>>UPDATE Cinema.Film SET Description = 'D1' WHERE ID = 1 2>>GO1. UPDATE Cinema.Film SET Description = 'D1' WHERE ID = 1 1 Row Affectedstatement prepare time(s)/globals/lines/disk: 0.0144s/2605/41887/0ms execute time(s)/globals/lines/disk: 0.0004s/24/246/0ms cached query class: %sqlcq.SAMPLES.cls25--------------------------------------------------------------------------- por lo tanto, la parte de edicion del sql y ejecucion creo que esta resuelta. el tema es, puedo lanzar desde el shell la ejecucion de un archivo que contenga el SQL , o debo hacer un script que ejecute linea por linea las instrucciones sql que tengo en txt ????
ir a la publicación Albert Forcadell · 20 sep, 2022 muchas gracias por la ayuda pero sigo con error: puede ser que sea un tema de comillas o algo asi? SAMPLES>> << entering multiline statement mode >> 1>>UPDATE Cinema.Film SET "Description" = 'D1' WHERE "ID" = 1 2>>UPDATE Cinema.Film SET "Description" = 'D2' WHERE "ID" = 2 3>>UPDATE Cinema.Film SET "Description" = 'D3' WHERE "ID" = 3 4>>GO ERROR #5540: SQLCODE: Mensaje -25: Entrada (UPDATE) encontrada al finalizar la consulta ^ UPDATE Cinema . Film SET "Description" = ? WHERE "ID" = ? UPDATESAMPLES>>