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

2 Select com Union All e com 2 Aliases


mestre fyoda

Pergunta

create view status_chamado as

SELECT 
  e.nome_empresa,  
  Count( c.codigo_empresa ) as Aberto
    FROM Empresa e 
      INNER JOIN Chamado c ON e.codigo_empresa = c.codigo_empresa
        WHERE status = 1
           GROUP BY e.codigo_empresa


UNION ALL

SELECT 
  e.nome_empresa,  
  Count( c.codigo_empresa ) as Fechado
    FROM Empresa e 
      INNER JOIN Chamado c ON e.codigo_empresa = c.codigo_empresa
        WHERE status = 0
           GROUP BY e.codigo_empresa

Retorna duas Colunas:

-nome_empresa

-Aberto

Eu queria que retornace 3 colunas :

-nome_empresa

-Aberto

-Fechado

Porque a coluna Fechado não é criada ?

Os dados dela fica na coluna Aberto!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'mestre fyoda'!

Voce disse:

Retorna duas Colunas:

-nome_empresa

-Aberto

Eu queria que retornace 3 colunas :

-nome_empresa

-Aberto

-Fechado

Porque a coluna Fechado não é criada ?

Os dados dela fica na coluna Aberto!

Resposta: É isso mesmo. Os dados da coluna Fechado ficam na coluna Aberto.

Para resolver isso faça como abaixo:

SELECT e.nome_empresa, a.Aberto, f.Fechado
FROM Empresa e
INNER JOIN (SELECT codigo_empresa, 
               Count(codigo_empresa) as Aberto
            FROM Chamado 
            WHERE status = 1
            GROUP BY codigo_empresa) a 
ON e.codigo_empresa = a.codigo_empresa
INNER JOIN (SELECT codigo_empresa, 
               Count(codigo_empresa) as Fechado
            FROM Chamado 
            WHERE status = 0
            GROUP BY codigo_empresa) f 
ON e.codigo_empresa = f.codigo_empresa

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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