Ir para conteúdo
Fórum Script Brasil
  • 0

(RESOLVIDO)Consulta com dois resultados


Fabricio Luiz

Pergunta

Amigos, preciso da ajuda de vocês.

Preciso consultar um banco onde ocorre o seguinte:

processo: campos: id (entre outros)

acoesProcesso: campos: id(chave estrangeira referente a tabela processo), HoraAcao, Tipo

Preciso relacionar os processos e a horaAcao onde houveram açoes do tipo "abrir" e "fechar"

 

Como devo proceder?

pode acontecer de uma acao ocorrer mais de uma vez., Por exemplo, "abrir", mas só depois que a acao "fechar" tiver sido acionada. POrem, necessito apenas do primeiro caso de cada acao.

 

Tentei assim:

 

with CONSULTA as ( SELECT incident.incident_id, ar.date_actioned dtAcao, ar.act_type_id IdAcao, row_number() over (partition by incident.incident_id order by ar.date_actioned ASC ) as linha
     FROM incident
         INNER JOIN jptsys_tabledata d on d.table_name = 'incident'
         INNER join act_reg ar on ar.incident_id = incident.incident_id
     WHERE incident.incident_id <> 0
     AND incident.down_flag = 'n'
     AND ar.act_type_id = '112'--acao abrir
     and incident.date_logged > '25/01/2017' ),
     
    CONSULTA2 as ( SELECT incident.incident_id, ar.date_actioned dtAcao, ar.act_type_id IdAcao, row_number() over (partition by incident.incident_id order by ar.date_actioned ASC ) as linha
     FROM incident
         INNER JOIN jptsys_tabledata d on d.table_name = 'incident'
         INNER join act_reg ar on ar.incident_id = incident.incident_id
     WHERE incident.incident_id <> 0
     AND incident.down_flag = 'n'
     AND ar.act_type_id = '113'--acao fechar
     and incident.date_logged > '25/01/2017' ),
          
     
     pendenciaUSU as ( select * from consulta where linha = 1 order by incident_id ),--41 registros (correto)
     pendenciaSAN as ( select * from consulta2 where linha = 1 order by incident_id )--41 registros (correto)

select pUsu.incident_id, pUsu.dtAcao, pSan.incident_id, pSan.dtAcao from pendenciaUSU pUsu , pendenciaSAN pSan --nesta linha o resultado aparece multiplicado, me fornecendo 1482 registros

o que sera?

 

 

 

 

Editado por Fabricio Luiz
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...