none
Junção de Select em Query RRS feed

  • Pergunta

  • Boa tarde a todos.

    Estou quebrando a cabeça para tentar fazer uma view com a junção de um resultado...

    Fiz uma view que me traz algumas informações conforme colunas abaixo:

    NOMEGRUPO, CODGRUPO, DTINICIO, DTFIM, QTDE

    Preciso gerar uma view que me traga os totais de ocorrencias abertas e também totais fechadas em um periodo, para isso, fiz mais 2 views mais ou menos assim:

    TotalAbertos

    SELECT DISTINCT TOP (100) PERCENT MONTH(DTInicio) AS Mes, COUNT(*) AS TotalAbertoMes, NOMEGRUPO, CODGRUPO
    FROM         dbo.vw_mel_report_chamados
    WHERE     (SITUACAO <> 'X') AND (YEAR(DTInicio) = '2012')
    GROUP BY MONTH(DTInicio), NOMEGRUPO, CODGRUPO
    ORDER BY Mes

    TotalFechados

    SELECT DISTINCT TOP (100) PERCENT MONTH(DTFim) AS Mes, COUNT(*) AS TotalFechadosMes, NOMEGRUPO, CODGRUPO
    FROM         dbo.vw_mel_report_chamados
    WHERE     (SITUACAO <> 'X') AND (YEAR(DTFim) = '2012')
    GROUP BY MONTH(DTFim), NOMEGRUPO, CODGRUPO
    ORDER BY Mes

    Preciso gerar uma view que me mostre o CodGrupo, NomeGrupo, TotalAbertosMes, TotalFechadosMes, Mes

    O problema é, que posso ter em um mes o totalabertos para um grupo, porem, pode não ter informações de totalfechado ou ao contrario também.

    Ainda estou tentando achar uma solução para o problema, porem, se alguem puder me ajudar, fico grato.

    Éric


    Éric

    quarta-feira, 11 de julho de 2012 18:28

Respostas

  • Éric,

         Acho que o seu cenário é típico para uso do FULL OUTER JOIN (ou FULL JOIN). Você já utilizou o LEFT JOIN ou RIGHT JOIN? Só para relembrar, o LEFT JOIN retorna todas as linhas da tabela da esquerda, tendo ou não relacionamentos com a tabela da direita. O RIGHT JOIN é o contrário, todas as linhas da tabela da direita, tendo ou não relacionamentos com a tabela da esquerda.

         Pois bem, o FULL JOIN é o melhor das duas, ele trás todas as linhas da esquerda, tendo ou nao relacionamentos com a tabela da direita E todas as linhas da direita, tendo ou não relacionamento com a tabela da esquerda.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Sugerido como Resposta Heloisa Pires segunda-feira, 16 de julho de 2012 16:33
    • Marcado como Resposta Heloisa Pires quinta-feira, 19 de julho de 2012 14:21
    quinta-feira, 12 de julho de 2012 15:24
    Moderador