Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá gente,
Tenho duas tabelas(empresa e funcionario)
empresa:
codigo, nome
funcionario:
codigo, cod_empresa, nome, atendido;
Preciso listar todas as empresas e listar junto a quantidade de funcionarios que foram atendidos:
codigo - nome - qtde
01 - Empesa 01 - 5
02 - Empesa 02 - 0
03 - Empesa 03 - 10
Tentei com left join mas não deu certo.
flws..
>
use a funções de agregação
select empresa,codigo, empresa,nome,count(funcionario.codigo) qtd_func
from empresa ,funcionario
where empresa.codigo = funcionario.cod_empresa
group by empresa,codigo
A qtde deve ser só dos funcionarios onde o status atendido for igual a SIM.
Quando a empresa não tiver nenhum funcionario atendido então qtde é zero.
Como faço para contar isso?
flws..
... onde o status atendido for igual a SIM ...
select empresa,codigo, empresa,nome,count(funcionario.codigo) qtd_func
from empresa ,funcionario
where empresa.codigo = funcionario.cod_empresa
and funcionario.atendido = 'SIM'
group by empresa,codigo
>
select empresa,codigo, empresa,nome,count(funcionario.codigo) qtd_func
from empresa ,funcionario
where empresa.codigo = funcionario.cod_empresa
and funcionario.atendido = 'SIM'
group by empresa,codigo
Seque minha sql:
SELECT ce.codigo, ce.nome, count(cf.atendido) AS atendimentos
FROM conva_empresas ce
LEFT JOIN conva_funcionarios cf ON ce.codigo = cf.cod_empresa
WHERE cf.atendido = 'S'
GROUP BY ce.codigo ORDER BY ce.razao_social ASC
Com a sql acima esta me linstaddo as empresas e o numeros de atendidos das empresas com funcionarios atendidos, mas aquelas empresas que ainda não tem nenhum funcionário atendido não esta aparecendo, tenho que listar todas.
Com a sql acima esta me linstaddo as empresas e o numeros de atendidos das empresas com funcionarios atendidos, mas aquelas empresas que ainda não tem nenhum funcionário atendido não esta aparecendo, tenho que listar todas.
Terá de recorrer a um artifício, veja um exemplo aqui.
use a funções de agregação
select empresa,codigo, empresa,nome,count(funcionario.codigo) qtd_func
from empresa ,funcionario
where empresa.codigo = funcionario.cod_empresa
group by empresa,codigo