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.
