Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tcn

Select que pega valores em uma ROW unica

Recommended Posts

Boas pessoal,

 

 

tenho a select abaixo:

 

SELECT  MIEL_ID,

        MAX (DECODE (RN, 1, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_1,
        MAX (DECODE (RN, 2, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_2,
        MAX (DECODE (RN, 3, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_3,
        DT_EXCLUSAO 
    FROM 
        (SELECT ID, DATA_ANTERIOR,DT_EXCLUSAO, 
                ROW_NUMBER () OVER (PARTITION BY ID ORDER BY ID) RN
         FROM
          (SELECT  CM.MIEL_ID, 
                   CM.DATA_ANTERIOR,                
                   DT_EXCLUSAO_SAV
           FROM   CONTROLE C
           WHERE  C.ID = '4462779' ))         
GROUP BY MIEL_ID,DT_EXCLUSAO

 

 

essa tabela grava toda a alteração e delete com registros iguais, operações distintas, queria saber como faço para que DT_EXCLUSAO fique na mesma linha que as previsões por que atualmente fica assim:

 

Linha 1 ---

------------------------------------------------------------------------
ID  4462779  
PREVISAO_CHEGADA_1   -21/03/2013 00:01:00
PREVISAO_CHEGADA_2 - 20/06/2013 09:58:42
PREVISAO_CHEGADA_3 - 21/06/2013 09:58:49
DT_EXCLUSAO - null
------------------------------------------------------------------------
Linha 2 ---
ID  4462779  
PREVISAO_CHEGADA_1  -null
PREVISAO_CHEGADA_2 - null
PREVISAO_CHEGADA_3 - null
DT_EXCLUSAO - 20/06/2013 10:01:11

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pela sua sql PREVISAO_CHEGADA_1 2 e 3 são colunas, vc quer saiam em linhas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

previsão de chegada nada mais é uma unica coluna da tabela controle chamada: DATA_ANTERIOR ele gera um registro a cada update em outra tabela e cria esse insert na tabela controle, estou unificando nessa Select que informei, o problema é que quando faço delete eu também gravo no campo chamado DT_EXCLUSAO e precisava colocar na mesma Row (linha) as informações de previsão + data Exclusão

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando eu rodo a Select ele tras duas linhas, preciso fazer em uma linha

 

 

printei para tentar melhorar

 

retornodaselect.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

agrupar a data tb não resolve ?

 

 

SELECT  MIEL_ID,

        MAX (DECODE (RN, 1, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_1,
        MAX (DECODE (RN, 2, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_2,
        MAX (DECODE (RN, 3, DATA_ANTERIOR, NULL)) PREVISAO_CHEGADA_3,
        MAX (DT_EXCLUSAO) DT_EXCLUSAO
    FROM
        (SELECT ID, DATA_ANTERIOR,DT_EXCLUSAO,
                ROW_NUMBER () OVER (PARTITION BY ID ORDER BY ID) RN
         FROM
          (SELECT  CM.MIEL_ID,
                   CM.DATA_ANTERIOR,                
                   DT_EXCLUSAO_SAV
           FROM   CONTROLE C
           WHERE  C.ID = '4462779' ))         
GROUP BY MIEL_ID

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta eu juro que tinha tentando isso não tinha funcionado, devo ter feito algo errado,

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.