SuperConsulta!

14/06/2006 - 19:12 por shei | Informe spam
Buenas!
Estoy intentando realizar una consulta que me está resultando bastante
compleja...
Tengo una tabla que es un maestro de artículos y otra tabla de movimientos,
con todos los movimientos de cada artículo.
Me gustaría sacar un stock a fecha de cada referencia, y para ello relaciono
las dos tablas (En la tabla de movimientos siempre se guarda en un campo
NuevoStock el nuevo stock en esa fecha).
El problema está cuando si yo quiero sacar por ejemplo el stock para la
fecha '10/05/2006' y hay referencias que no tienen ningún movimiento para
esa fecha no me saca nada, y me gustaría que me sacara el stock de la
primera fecha que tenga movimiento antes de la que he especificado
('10/05/2006').

¿Es posible realizar eso en una consulta?

Muchas gracias.
Un saludo!

Preguntas similare

Leer las respuestas

#1 Maxi
14/06/2006 - 19:21 | Informe spam
Hola, si nos pasas las tablas, algunos datos y como necesitas el resultado
final es mas facil poderte ayudar.
Deberia ver esto para darte una solucion que se adapte a lo que estas
necesitando


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"shei" escribió en el mensaje
news:
Buenas!
Estoy intentando realizar una consulta que me está resultando bastante
compleja...
Tengo una tabla que es un maestro de artículos y otra tabla de
movimientos, con todos los movimientos de cada artículo.
Me gustaría sacar un stock a fecha de cada referencia, y para ello
relaciono las dos tablas (En la tabla de movimientos siempre se guarda en
un campo NuevoStock el nuevo stock en esa fecha).
El problema está cuando si yo quiero sacar por ejemplo el stock para la
fecha '10/05/2006' y hay referencias que no tienen ningún movimiento para
esa fecha no me saca nada, y me gustaría que me sacara el stock de la
primera fecha que tenga movimiento antes de la que he especificado
('10/05/2006').

¿Es posible realizar eso en una consulta?

Muchas gracias.
Un saludo!

Respuesta Responder a este mensaje
#2 shei
15/06/2006 - 08:22 | Informe spam
Esta es la tabla maestra de artículos:

- Referencia
- Descripción

Tabla de Movimientos
- IDMov
- FechaMov
- Referencia
- Documento
- CantidadMovida
- NuevoStock

En la tabla de artículos tendría los siguientes datos:
Ref. Descripción

A Descripción 1
B Descripción 2
C Descripción 3

Y en la de movimientos, estos:
ID Fecha Ref. Doc. Cant. NuevoStock
-
1 01/02/2006 08:50:00 A 1234 2 5
1 02/02/2006 10:30:00 A 1235 1 4
1 02/02/2006 11:21:00 B 1236 5 5
1 01/02/2006 04:10:00 C 1237 7 5
1 03/02/2006 12:35:00 A 1238 3 2
1 01/02/2006 20:46:00 B 1239 1 4

Entonces, mediante la consulta que deseo crear, me gustaría decirle que me
sacara, de todas las referencias que tengo el Stock a fecha '02/02/2006'.
Con los datos que aquí tendríamos el resultado debería ser el siguiente:

Ref Stock
A 4
B 5
C 5 > Este no tiene movimientos en esa fecha, pero cogería el
último antes de esa fecha, osea '01/02/2006'

No se si será posible hacer esto con una consulta, yo ya no sé qué probar...
Muchas gracias por el interés Maxi.
Un saludo.


"Maxi" escribió en el mensaje
news:%
Hola, si nos pasas las tablas, algunos datos y como necesitas el resultado
final es mas facil poderte ayudar.
Deberia ver esto para darte una solucion que se adapte a lo que estas
necesitando


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"shei" escribió en el mensaje
news:
Buenas!
Estoy intentando realizar una consulta que me está resultando bastante
compleja...
Tengo una tabla que es un maestro de artículos y otra tabla de
movimientos, con todos los movimientos de cada artículo.
Me gustaría sacar un stock a fecha de cada referencia, y para ello
relaciono las dos tablas (En la tabla de movimientos siempre se guarda en
un campo NuevoStock el nuevo stock en esa fecha).
El problema está cuando si yo quiero sacar por ejemplo el stock para la
fecha '10/05/2006' y hay referencias que no tienen ningún movimiento para
esa fecha no me saca nada, y me gustaría que me sacara el stock de la
primera fecha que tenga movimiento antes de la que he especificado
('10/05/2006').

¿Es posible realizar eso en una consulta?

Muchas gracias.
Un saludo!





Respuesta Responder a este mensaje
#3 Carlos Sacristán
15/06/2006 - 09:37 | Informe spam
Intenta con la siguiente sentencia:

SELECT m.referencia, m.nuevostock FROM movimientos m INNER JOIN (SELECT
MAX(fechamov) max_fechamov, referencia FROM movimientos WHERE DATEDIFF(DAY,
fechamov, '20060202')>=0 GROUP BY referencia) fec ON
m.fechamov=fec.max_fechamov AND m.referencia=fec.referencia ORDER BY
m.referencia



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"shei" escribió en el mensaje
news:
Esta es la tabla maestra de artículos:

- Referencia
- Descripción

Tabla de Movimientos
- IDMov
- FechaMov
- Referencia
- Documento
- CantidadMovida
- NuevoStock

En la tabla de artículos tendría los siguientes datos:
Ref. Descripción

A Descripción 1
B Descripción 2
C Descripción 3

Y en la de movimientos, estos:
ID Fecha Ref. Doc. Cant. NuevoStock
-
1 01/02/2006 08:50:00 A 1234 2 5
1 02/02/2006 10:30:00 A 1235 1 4
1 02/02/2006 11:21:00 B 1236 5 5
1 01/02/2006 04:10:00 C 1237 7 5
1 03/02/2006 12:35:00 A 1238 3 2
1 01/02/2006 20:46:00 B 1239 1 4

Entonces, mediante la consulta que deseo crear, me gustaría decirle que me
sacara, de todas las referencias que tengo el Stock a fecha '02/02/2006'.
Con los datos que aquí tendríamos el resultado debería ser el siguiente:

Ref Stock
A 4
B 5
C 5 > Este no tiene movimientos en esa fecha, pero cogería el
último antes de esa fecha, osea '01/02/2006'

No se si será posible hacer esto con una consulta, yo ya no sé qué


probar...
Muchas gracias por el interés Maxi.
Un saludo.


"Maxi" escribió en el mensaje
news:%
> Hola, si nos pasas las tablas, algunos datos y como necesitas el


resultado
> final es mas facil poderte ayudar.
> Deberia ver esto para darte una solucion que se adapte a lo que estas
> necesitando
>
>
> Salu2
> Maxi [MVP SQL SERVER]
> www.sqlgurus.org
>
>
> "shei" escribió en el mensaje
> news:
>> Buenas!
>> Estoy intentando realizar una consulta que me está resultando bastante
>> compleja...
>> Tengo una tabla que es un maestro de artículos y otra tabla de
>> movimientos, con todos los movimientos de cada artículo.
>> Me gustaría sacar un stock a fecha de cada referencia, y para ello
>> relaciono las dos tablas (En la tabla de movimientos siempre se guarda


en
>> un campo NuevoStock el nuevo stock en esa fecha).
>> El problema está cuando si yo quiero sacar por ejemplo el stock para la
>> fecha '10/05/2006' y hay referencias que no tienen ningún movimiento


para
>> esa fecha no me saca nada, y me gustaría que me sacara el stock de la
>> primera fecha que tenga movimiento antes de la que he especificado
>> ('10/05/2006').
>>
>> ¿Es posible realizar eso en una consulta?
>>
>> Muchas gracias.
>> Un saludo!
>>
>
>


Respuesta Responder a este mensaje
#4 shei
15/06/2006 - 13:05 | Informe spam
Me ha ayudado algo tu consulta, pero todavía no saca lo que busco.
Gracias Carlos.

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Intenta con la siguiente sentencia:

SELECT m.referencia, m.nuevostock FROM movimientos m INNER JOIN (SELECT
MAX(fechamov) max_fechamov, referencia FROM movimientos WHERE
DATEDIFF(DAY,
fechamov, '20060202')>=0 GROUP BY referencia) fec ON
m.fechamov=fec.max_fechamov AND m.referencia=fec.referencia ORDER BY
m.referencia



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"shei" escribió en el mensaje
news:
Esta es la tabla maestra de artículos:

- Referencia
- Descripción

Tabla de Movimientos
- IDMov
- FechaMov
- Referencia
- Documento
- CantidadMovida
- NuevoStock

En la tabla de artículos tendría los siguientes datos:
Ref. Descripción

A Descripción 1
B Descripción 2
C Descripción 3

Y en la de movimientos, estos:
ID Fecha Ref. Doc. Cant. NuevoStock
-
1 01/02/2006 08:50:00 A 1234 2 5
1 02/02/2006 10:30:00 A 1235 1 4
1 02/02/2006 11:21:00 B 1236 5 5
1 01/02/2006 04:10:00 C 1237 7 5
1 03/02/2006 12:35:00 A 1238 3 2
1 01/02/2006 20:46:00 B 1239 1 4

Entonces, mediante la consulta que deseo crear, me gustaría decirle que
me
sacara, de todas las referencias que tengo el Stock a fecha '02/02/2006'.
Con los datos que aquí tendríamos el resultado debería ser el siguiente:

Ref Stock
A 4
B 5
C 5 > Este no tiene movimientos en esa fecha, pero cogería el
último antes de esa fecha, osea '01/02/2006'

No se si será posible hacer esto con una consulta, yo ya no sé qué


probar...
Muchas gracias por el interés Maxi.
Un saludo.


"Maxi" escribió en el mensaje
news:%
> Hola, si nos pasas las tablas, algunos datos y como necesitas el


resultado
> final es mas facil poderte ayudar.
> Deberia ver esto para darte una solucion que se adapte a lo que estas
> necesitando
>
>
> Salu2
> Maxi [MVP SQL SERVER]
> www.sqlgurus.org
>
>
> "shei" escribió en el mensaje
> news:
>> Buenas!
>> Estoy intentando realizar una consulta que me está resultando bastante
>> compleja...
>> Tengo una tabla que es un maestro de artículos y otra tabla de
>> movimientos, con todos los movimientos de cada artículo.
>> Me gustaría sacar un stock a fecha de cada referencia, y para ello
>> relaciono las dos tablas (En la tabla de movimientos siempre se guarda


en
>> un campo NuevoStock el nuevo stock en esa fecha).
>> El problema está cuando si yo quiero sacar por ejemplo el stock para
>> la
>> fecha '10/05/2006' y hay referencias que no tienen ningún movimiento


para
>> esa fecha no me saca nada, y me gustaría que me sacara el stock de la
>> primera fecha que tenga movimiento antes de la que he especificado
>> ('10/05/2006').
>>
>> ¿Es posible realizar eso en una consulta?
>>
>> Muchas gracias.
>> Un saludo!
>>
>
>






Respuesta Responder a este mensaje
#5 Carlos Sacristán
15/06/2006 - 13:32 | Informe spam
La sentencia que te pasé muestra los datos que indicabas en el ejemplo.
¿Por qué dices que no se adapta a lo que buscas?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"shei" escribió en el mensaje
news:#LW$
Me ha ayudado algo tu consulta, pero todavía no saca lo que busco.
Gracias Carlos.

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> Intenta con la siguiente sentencia:
>
> SELECT m.referencia, m.nuevostock FROM movimientos m INNER JOIN (SELECT
> MAX(fechamov) max_fechamov, referencia FROM movimientos WHERE
> DATEDIFF(DAY,
> fechamov, '20060202')>=0 GROUP BY referencia) fec ON
> m.fechamov=fec.max_fechamov AND m.referencia=fec.referencia ORDER BY
> m.referencia
>
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "shei" escribió en el mensaje
> news:
>> Esta es la tabla maestra de artículos:
>>
>> - Referencia
>> - Descripción
>>
>> Tabla de Movimientos
>> - IDMov
>> - FechaMov
>> - Referencia
>> - Documento
>> - CantidadMovida
>> - NuevoStock
>>
>> En la tabla de artículos tendría los siguientes datos:
>> Ref. Descripción
>>
>> A Descripción 1
>> B Descripción 2
>> C Descripción 3
>>
>> Y en la de movimientos, estos:
>> ID Fecha Ref. Doc. Cant. NuevoStock
>> -
>> 1 01/02/2006 08:50:00 A 1234 2 5
>> 1 02/02/2006 10:30:00 A 1235 1 4
>> 1 02/02/2006 11:21:00 B 1236 5 5
>> 1 01/02/2006 04:10:00 C 1237 7 5
>> 1 03/02/2006 12:35:00 A 1238 3 2
>> 1 01/02/2006 20:46:00 B 1239 1 4
>>
>> Entonces, mediante la consulta que deseo crear, me gustaría decirle que
>> me
>> sacara, de todas las referencias que tengo el Stock a fecha


'02/02/2006'.
>> Con los datos que aquí tendríamos el resultado debería ser el


siguiente:
>>
>> Ref Stock
>> A 4
>> B 5
>> C 5 > Este no tiene movimientos en esa fecha, pero cogería el
>> último antes de esa fecha, osea '01/02/2006'
>>
>> No se si será posible hacer esto con una consulta, yo ya no sé qué
> probar...
>> Muchas gracias por el interés Maxi.
>> Un saludo.
>>
>>
>> "Maxi" escribió en el mensaje
>> news:%
>> > Hola, si nos pasas las tablas, algunos datos y como necesitas el
> resultado
>> > final es mas facil poderte ayudar.
>> > Deberia ver esto para darte una solucion que se adapte a lo que estas
>> > necesitando
>> >
>> >
>> > Salu2
>> > Maxi [MVP SQL SERVER]
>> > www.sqlgurus.org
>> >
>> >
>> > "shei" escribió en el mensaje
>> > news:
>> >> Buenas!
>> >> Estoy intentando realizar una consulta que me está resultando


bastante
>> >> compleja...
>> >> Tengo una tabla que es un maestro de artículos y otra tabla de
>> >> movimientos, con todos los movimientos de cada artículo.
>> >> Me gustaría sacar un stock a fecha de cada referencia, y para ello
>> >> relaciono las dos tablas (En la tabla de movimientos siempre se


guarda
> en
>> >> un campo NuevoStock el nuevo stock en esa fecha).
>> >> El problema está cuando si yo quiero sacar por ejemplo el stock para
>> >> la
>> >> fecha '10/05/2006' y hay referencias que no tienen ningún movimiento
> para
>> >> esa fecha no me saca nada, y me gustaría que me sacara el stock de


la
>> >> primera fecha que tenga movimiento antes de la que he especificado
>> >> ('10/05/2006').
>> >>
>> >> ¿Es posible realizar eso en una consulta?
>> >>
>> >> Muchas gracias.
>> >> Un saludo!
>> >>
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida