¿Como hacer una query?

07/02/2008 - 14:09 por Pedro J. Reguera | Informe spam
Hola:
Necesito diseñar una query (y no consigo dar con la solución) algo compleja:

Tabla de partida:
IdRegistro.
IdTienda
FechaRecogida.
Importe

Ejemplo de valores: en la tabla
IDRegistro IdTienda FechaRecogida Importe
1 1 01/01/08 10
2 2 02/01/08 20
3 1 03/01/08 30
4 1 04/01/08 40
5 2 08/01/08 50

¿que deseo obtener?
Se desea obtener para cada registro los valores del mismo más la fecha
inmediatamente anterior a la FechaRecogida que sea de la misma tienda.

Ejemplo del resultado al ejecutar la consulta sobre los datos anteriores:
IDRegistro IdTienda FechaRecogida Importe Fecha anterior
1 1 01/01/08 10
null
2 2 02/01/08 20
null
3 1 03/01/08 30
01/01/08
4 1 04/01/08 40
03/01/08
5 2 08/01/08 50
02/01/08

Gracias a todos por vuestra ayuda
PedroJ.

Preguntas similare

Leer las respuestas

#1 Maxi
07/02/2008 - 15:52 | Informe spam
Que version de SQL esta usted usando?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pedro J. Reguera" escribió en el mensaje
news:
Hola:
Necesito diseñar una query (y no consigo dar con la solución) algo
compleja:

Tabla de partida:
IdRegistro.
IdTienda
FechaRecogida.
Importe

Ejemplo de valores: en la tabla
IDRegistro IdTienda FechaRecogida Importe
1 1 01/01/08 10
2 2 02/01/08 20
3 1 03/01/08 30
4 1 04/01/08 40
5 2 08/01/08 50

¿que deseo obtener?
Se desea obtener para cada registro los valores del mismo más la fecha
inmediatamente anterior a la FechaRecogida que sea de la misma tienda.

Ejemplo del resultado al ejecutar la consulta sobre los datos anteriores:
IDRegistro IdTienda FechaRecogida Importe Fecha anterior
1 1 01/01/08 10 null
2 2 02/01/08 20 null
3 1 03/01/08 30 01/01/08
4 1 04/01/08 40 03/01/08
5 2 08/01/08 50 02/01/08

Gracias a todos por vuestra ayuda
PedroJ.


Respuesta Responder a este mensaje
#2 Pedro J. Reguera
07/02/2008 - 16:07 | Informe spam
Hola:
SQL Server 2005 Express Edition.

Ya me pica la curiosidad... ¿esta versión me limita algún tipo de consulta?.

Gracias y un saludo.
PedroJ.


"Maxi" escribió en el mensaje de noticias
news:%
Que version de SQL esta usted usando?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pedro J. Reguera" escribió en el mensaje
news:
Hola:
Necesito diseñar una query (y no consigo dar con la solución) algo
compleja:

Tabla de partida:
IdRegistro.
IdTienda
FechaRecogida.
Importe

Ejemplo de valores: en la tabla
IDRegistro IdTienda FechaRecogida Importe
1 1 01/01/08 10
2 2 02/01/08 20
3 1 03/01/08 30
4 1 04/01/08 40
5 2 08/01/08 50

¿que deseo obtener?
Se desea obtener para cada registro los valores del mismo más la fecha
inmediatamente anterior a la FechaRecogida que sea de la misma tienda.

Ejemplo del resultado al ejecutar la consulta sobre los datos anteriores:
IDRegistro IdTienda FechaRecogida Importe Fecha anterior
1 1 01/01/08 10 null
2 2 02/01/08 20 null
3 1 03/01/08 30 01/01/08
4 1 04/01/08 40 03/01/08
5 2 08/01/08 50 02/01/08

Gracias a todos por vuestra ayuda
PedroJ.






Respuesta Responder a este mensaje
#3 Carlos M. Calvelo
07/02/2008 - 16:19 | Informe spam
Hola Pedro,

On 7 feb, 14:09, "Pedro J. Reguera" wrote:
Hola:
Necesito diseñar una query (y no consigo dar con la solución) algo compleja:

Tabla de partida:
IdRegistro.
IdTienda
FechaRecogida.
Importe

Ejemplo de valores: en la tabla
IDRegistro IdTienda FechaRecogida Importe
1 1 01/01/08 10
2 2 02/01/08 20
3 1 03/01/08 30
4 1 04/01/08 40
5 2 08/01/08 50

¿que deseo obtener?
Se desea obtener para cada registro los valores del mismo más la fecha
inmediatamente anterior a la FechaRecogida que sea de la misma tienda.

Ejemplo del resultado al ejecutar la consulta sobre los datos anteriores:
IDRegistro IdTienda FechaRecogida Importe Fecha anterior
1 1 01/01/08 10
null
2 2 02/01/08 20
null
3 1 03/01/08 30
01/01/08
4 1 04/01/08 40
03/01/08
5 2 08/01/08 50
02/01/08





select
t1.IDRegistro,
t1.IdTienda,
t1.FechaRecogida,
t1.Importe,
max(t2.FechaRecogida) as FechaAnterior
from
TuTabla t1 left join TuTabla t2
on t1.IdTienda=t2.IdTienda and t1.FechaRecogida>t2.FechaRecogida
group by
t1.IDRegistro,
t1.IdTienda,
t1.FechaRecogida,
t1.Importe

Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida