Consulta con fecha hoy

Hola, tengo una pregunta que creo que será muy fácil de responder pero a la que no encuentro respuesta.
Estoy haciendo un informe con reporting services y en el diseñador de consultas quiero hacer una consulta sobre una tabla de albaranes en las que le pido nº de albarán, fecha, articulo, etc..
Hasta aquí ningún problema; lo que pasa es que quiero sacar una lista de los últimos 100 albaranes o de los últimos 500 días y no sé cómo hacerlo.
He probado con todas las funciones que he visto (DATE, GETDATE, SYSDATE, FECHA... y no me ha funcionado nada)
He podido hacer una lista de albaranes de este año, de este año y el pasado y cosas así, pero necesito tener el día de hoy como referencia siempre para ver los últimos 200 o los últimos 500 días.
¿Puedes echarme una mano?
Muchas gracias

2 respuestas

1
Respuesta de
Hola, no entiendo muy bien la pregunta; ¿Podrás pasarme más o menos la estructura de tus tablas y un ejemplo de la salida que estas buscando?
Saludos,
Gracias por contestar.
Tengo una tabla con nºde pedido, fecha de pedido, articulo y cantidad.
La tabla se llama wpc.
Quiero sacar una lista de pedidos de los últimos 500 días.
Un saludo,
Lo que se me ocurre que puedes hacer es usar el datediff para sacar los días transcurridos, convertirlos a enteros o flotantes y después en tus reportes filtrar por los menores a 500. La función se usa más o menos así:
Select no_pedido, datediff(d, fecha_pedido, Getdate()), articulo, cantidad from wpc
Esto te dará una salida más o menos así:
No_Pedido, Días, articulo, cantidad
0001, 5, Pantalla, 2
0002, 22, Mouse, 15
0003, 64, Teclado, 28
0004, 1, CPU, 29
Suerte
Pues creía que iba a funcionar pero me dice el siguiente error:
SQL: Column ´D´is not found
Gracias por contestar
¿Estas usando el SQL Server para hacer tu consulta?
Si estas usando otro programa debes ver la sintaxis de Datediff.
En SQL Server la sintaxis es:
DATEDIFF ( datepart , startdate , enddate )
Intenta poner en lugar de la de poner la palabra day.
Suerte
Lamentablemente no ha funcionado.
He revisado la expresión datediff en la ayuda y efectivamente es lo que necesito pero por algún motivo que desconozco el SQL que se escribe en el diseñador de consultas de Reporting Services tiene algo distinto o yo no sé cómo hacerlo, o influye el proveedor de OLEDB el ODBC por qel que accede a los datos o algo de esto.
De todas formas muchas gracias por tu ayuda
Añade un comentario a esta respuesta
1
Respuesta de
Puedes usar DATEDIFF y GETDATE con 100 y 500 y lo combinas con TOP
Ej DATEDIFF(dd, Fecha, GetDate()) =100
Espero que te sea de utilidad
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema SQL Server o hacer tu propia pregunta: