SQL - Consulta (minus, supongo)

 
Vista:

Consulta (minus, supongo)

Publicado por Guido (1 intervención) el 08/11/2005 14:46:14
Buenas!
Necesito construir un mandato SQL (estoy con VB 6.0) para que me devuelva de una base (Access2000) como la siguiente, unicamente los registros cuyo FOLIO no tenga como mayor ID, un ESTADO=Entregado. Es decir que solamente quiero que me deje FOLIO,ESTADO y ID de los que su último ID tengan ESTADO=Pedido, y que todo lo demas lo ignore.

FOLIO ESTADO ID
231 Entregado 121
231 Pedido 15
9999 Pedido 140
9999 Entregado 120
9999 Pedido 10
39234 Entregado 124
39234 Pedido 26
42377 Pedido 27
545454 Pedido 231
1001840 Entregado 123
1001840 Pedido 25

El resultado sería:
FOLIO ESTADO ID
9999 Pedido 140
42377 Pedido 27
545454 Pedido 231

Ya le dí vueltas por todos lados sin ningun resultado positivo,
Les pido por favor si alguien puede ayudarme.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Consulta (minus, supongo)

Publicado por Liliana (426 intervenciones) el 08/11/2005 16:50:06
Hola,
En el ejemplo estoy usando una tabla derivada, en la que selecciono los valores máximos de ID para cada Folio, y eso lo vinculo con la tabla real, eliminando los Estados que no te interesan:

SELECT t1.folio, t1.estado, t1.id
FROM tabla t1
INNER JOIN (SELECT folio, id = MAX(id)
FROM tabla GROUP BY folio) t2
ON t1.folio = t2.folio and t1.id = t2.id
WHERE t1.folio = t2.folio and t1.id = t2.id and t1.estado <> 'Entregado'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar