Ordenação no CONECT BY PRIOR

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
aoliveira
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Seg, 24 Out 2005 11:46 am
Localização: Blumenau-SC
[ Alex ]

Pessoal, não estou conseguindo resolver um problema de ordenação que estou tento, o select que estou executando é o seguinte:

Selecionar tudo

SELECT LPAD(cd_material, LENGTH(cd_material) + ((LEVEL - ) * 4), ' ') cd_material 
,rownum 
FROM qs_w_estrutura_material 
WHERE LEVEL > 1 
AND LEVEL <= NVL((null + 1), LEVEL) 
START WITH cd_mat_estrut_pai IS NULL 
AND nr_solicitacao = 100362 
AND id_estrutura = 1 
CONNECT BY PRIOR cd_mat_estrut = cd_mat_estrut_pai 
AND nr_solicitacao = 100362 
AND id_estrutura = 1 
order by rownum 
O resultado não é exatamente o que eu esperava pois para alguns registros não esta ordenando de forma correta.

Segue parte do resultado, onde mostra que o registro 0000/00003 esta na possição incorreta, este deveria estar logo abaixo do registro 0000/00002

Selecionar tudo

4000/12800                  95 
        4000/02800              96 
            0000/00002          97 
            0000/00204          98 
            0000/00206          99 
            0001/00215         100 
            0002/00115         101 
            0002/00117         102 
            0002/00126         103 
            0002/00203         104 
            0002/00214         105 
            0002/00233         106 
            0003/00140         107 
            0003/00225         108 
            0004/00005         109 
            0005/00015         110 
            0006/00102         111 
            0009/00147         112 
            0011/00291         113 
            0011/00292         114 
            0012/00009         115 
            1012/00011         116 
            1014/00036         117 
            1015/00010         118 
            0000/00003         119 
    4055/10253                 120 
        4055/00253             121 
            1025/00905         122 
    4056/00089                 123 
        4056/00089K            124 
            1025/00965         125 
Se alguém puder ajudar fico muito grato.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Será que não é esse order by o problema ?

Selecionar tudo

order by rownum 
já tentou ordenar por um campo ?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes