locked
Controle para aparecer apenas uma linha no salto RRS feed

  • Pergunta

  • Bom dia a todos.

    Estou com uma consulta para me trazer dados em modo cascata, pois na consulta eu faço a verificação de id primario duas vezes em duas linhas diferentes, pois elas podem tender a ir para um fator comum ou não.

    O CODTMV é o identificador do movimento, mas solicitação tem sua id primaria identificada pelo IDMOV, só que quando passa por um movimento ele passa para o posterior, porém tem casos q ele faz um salto

    Ex.: do movimento 1.1.07 eu posso passar para o 1.1.11 ou saltar para o 1.1.08

    SELECT 	
    
    	CASE WHEN SETE.CODTMV='1.1.07' THEN SETE.IDMOV END IDMOV7,
    	CASE WHEN SETE.CODTMV='1.1.07' THEN SETE.NUMEROMOV END NUMEROMOV7,
    	CASE WHEN SETE.CODTMV='1.1.07' THEN SETE.CODTMV END CODTMV7,
    
    	CASE WHEN ONZE.CODTMV='1.1.11' THEN ONZE.IDMOV END IDMOV11,
    	CASE WHEN ONZE.CODTMV='1.1.11' THEN ONZE.NUMEROMOV END NUMEROMOV11,
    	CASE WHEN ONZE.CODTMV='1.1.11' THEN ONZE.CODTMV END CODTMV11,
    
    	CASE WHEN OITO.CODTMV='1.1.08' THEN OITO.IDMOV END IDMOV8,
    	CASE WHEN OITO.CODTMV='1.1.08' THEN OITO.NUMEROMOV END NUMEROMOV8,
    	CASE WHEN OITO.CODTMV='1.1.08' THEN OITO.CODTMV END CODTMV8
    FROM TMOV
    	LEFT JOIN TMOVRELAC F (NOLOCK) ON F.CODCOLORIGEM = TMOV.CODCOLIGADA AND TMOV.IDMOV = F.IDMOVORIGEM
    	LEFT JOIN TMOV SETE (NOLOCK) ON SETE.CODCOLIGADA = F.CODCOLDESTINO AND SETE.IDMOV = F.IDMOVDESTINO
    	LEFT JOIN TMOVRELAC G (NOLOCK) ON G.CODCOLORIGEM = SETE.CODCOLIGADA AND SETE.IDMOV = G.IDMOVORIGEM
    	LEFT JOIN TMOV ONZE (NOLOCK) ON ONZE.CODCOLIGADA = G.CODCOLDESTINO AND ONZE.IDMOV = G.IDMOVDESTINO
    	LEFT JOIN TMOVRELAC G1 (NOLOCK) ON G1.CODCOLORIGEM = ONZE.CODCOLIGADA AND ONZE.IDMOV = G1.IDMOVORIGEM
    	LEFT JOIN TMOV OITO (NOLOCK) ON ((OITO.CODCOLIGADA = G.CODCOLDESTINO AND OITO.IDMOV = G.IDMOVDESTINO) 
    	OR (OITO.CODCOLIGADA = G1.CODCOLDESTINO AND OITO.IDMOV = G1.IDMOVDESTINO))
    
    WHERE
    OITO.CODCOLIGADA=1 AND 
    OITO.IDMOV=148969

    Neste caso saltou do 1.1.07 para o 1.1.08 e eu queria visualizar apenas uma linha de preferencia a que pulou.


    CharlesTI.

    segunda-feira, 13 de novembro de 2017 12:13

Todas as Respostas

  • Charles,

    Esta forma de apresentação seria possível um nível hierárquico?

    Será que se você trabalhar com funções de ranking não poderia ser uma possibilidade?

    Analisando melhor a sua imagem, será que os Joins implementados no Select estão corretos? Verifique se realmente é necessário estabelecer todas estas junções, ainda mais por estar trabalhando com auto-relaciomento.


    Pedro Antonio Galvao Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 18 de novembro de 2017 15:23
  • Deleted
    sábado, 18 de novembro de 2017 21:58