Ver Mensaje Individual
  #5  
Antiguo 19-05-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Reputación: 21
fer21unmsm Va por buen camino
Cita:
Empezado por Caro
Hola a todos

No tengo idea de como armar esta consulta, tengo lo siguiente en mi tabla

Código:
codigo        nivel
01               1
0101            2
010101         3
010102         3 
01010201      4
01010202      4 
01010203      4  
0102            2
lo que yo quiero obtener es lo siguiente, que serian los ultimos niveles

Código:
codigo        nivel
010101         3
01010201      4
01010202      4 
01010203      4  
0102            2
espero se entienda, la tabla tiene mas campos como descripcion y otros, les agradecere un monton si me pudieran ayudar, gracias por adelantado y que tengan un bonito dia.

Estoy utilizando como Base de Datos ACCESS
Hola Caro hace tiempo que no agarro SQL así es que quizá sólo te puedo ayudar con la lógica, puedes utilizar una consulta recursiva o un procedimiento almacenado(usando cursores) con un while en la cual:

primero haces una consulta para capturar todos los registro cuyo nivel sea el mayor (en este caso 4), luego haces un while o recursividad, comparando todos los registros del nivel anterior en (en este caso 3), verificas si los codigos de dichos registros son subcadenas de los códigos de los resultados generados en la primera consulta, si hay algún registro que no sea una subcadena entonces lo agregas a tu tabla de resultados final, y luego vuelves a hacer lo mismo pero para el nivel 2 , así sucesivamente hasta llegar al 1.

Bueno si puedo trataré de hacerlo y te mando un ejemplo más tarde ¿vale?

Saludos.
Responder Con Cita