SQL - Consulta para detectar GAP's

 
Vista:

Consulta para detectar GAP's

Publicado por MARIO CHAVEZ (1 intervención) el 17/05/2006 16:22:11
Hola:

Tengo una BD que contiene un campo con varios correlativos (a cada tienda le corresponde un correlativo)

Quiero hacer una consulta que me devuelva en forma tabular los rangos de correlativos utilizados por cada tienda

Ej:

COD_TDA R_INI R_FINAL
--------------- -------- ------------
TIENDA 01 001 099
TIENDA 01 101 499
TIENDA 02 500 599

Mi objetivo es determinar si existen brechas en el correlativo (Gap Detection), en el ejemplo hace falta el 100 en la tienda 01.

Espero sus respuestas, gracias de antemano

MARIO CHAVEZ
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

RE:Consulta para detectar GAP's

Publicado por sdftsdf (2 intervenciones) el 17/05/2006 19:45:12
no especificas si el correlativo lo haces para una tienda en concreto o para todas. Voy a suponer que lo haces para todas, quieres buscar saltos en algun rango independientemente de la tienda.

La consulta seria algo parecido:

select * from tabla t1
where not exist
(select * from tabla t2
where(
(( t1.R_FINAL + 1 = t2.R_INI) and
(t1.R_INI -1 = subconsulta)) /*caso general */
or
(( t1.R_FINAL = (select max(R_FINAL) from tabla)) and
(t1.R_INI -1 = subconsulta)) /*extremo superior */
or
(( t1.R_FINAL + 1 = t2.R_INI) and
(t1.R_INI = (select min(.R_INI) from tabla)) /*extremo inferior */
)
);

donde puse subconsulta tienes que hacer lo mismo
ver si estan correlativos.
Me tengo que ir pero mas o menos te di una idea?

Perdona.
hasta otra.
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