Ir para conteúdo

POWERED BY:

Arquivado

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

Fabiano Carloto

Probelmas com inner join no resultado

Recommended Posts

Olá amigos,

 

Tenho um banco de dados com as tabelas base_agentes, coordenador, skill e a consulta lista o total de agentes que são de um determinado skill e de cada coordenador. Soh que ele mostra somente valores acima de 0.

 

exemplo.

 

HELBERT LUIGI ARRUDA DE OLIVEIRA - FATURAS GSM - 197

HELBERT LUIGI ARRUDA DE OLIVEIRA - RECADASTRAMENTO - PULA PULA 2004 - 1

HELBERT LUIGI ARRUDA DE OLIVEIRA - SERVIÇOS CONVERGENTES GSM - 133

LEANDRO VALLIM FILGUEIRAS - CENTRO DE SOLUÇÕES 6H GSM - 28

LEANDRO VALLIM FILGUEIRAS - HOT LINE GSM - 8

LEANDRO VALLIM FILGUEIRAS - JOB ATIVO GSM - 4

LEANDRO VALLIM FILGUEIRAS - PLANOS E RECARGAS GSM - 21

LEANDRO VALLIM FILGUEIRAS - RECADASTRAMENTO - PULA PULA 2004 - 27

 

Na teoria ele teria que contar todos os agentes de cada skill por coordenador.

Se não existir um registro como por exemplo: HELBERT LUIGI ARRUDA DE OLIVEIRA - JOB ATIVO GSM e for igual a 0, pq não existe nenguem cadastrado para este skill e o coordenador ele nao mostra na consulta.

 

 

a consulta:

"select nome_coord, skill_agente, count(mat_fpw) from base_agentes b inner join coordenador c inner join skill s on c.nome_coord=b.coordenador and b.skill_agente=s.nome_skill GROUP BY coordenador,skill_agente;"

 

Tem algum comando que force o mysql a mostrar mesmo se o resultado de count(mat_fpw) foi igual a 0?

 

Agradeço pela ajuda...

 

 

Valeu...

 

 

Fabiano Carloto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso acontece pq count em CAMPO so conta se o valor for NAO NULO

 

pra CONTAR TUDO, mesmo os NULOS , você tem q dar o count na linha : count(*)

 

Sua query entao seria:

 

"select nome_coord, skill_agente, count(*) from base_agentes b inner join coordenador c inner join skill s on c.nome_coord=b.coordenador and b.skill_agente=s.nome_skill GROUP BY coordenador,skill_agente;"

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.