Consulta con fecha hoy

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.

2 Respuestas

Respuesta
1
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?
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
Respuesta
1
Puedes usar DATEDIFF y GETDATE con 100 y 500 y lo combinas con TOP
Ej DATEDIFF(dd, Fecha, GetDate()) =100

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas