Ir para conteúdo

POWERED BY:

Arquivado

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

Wilker

query complicada

Recommended Posts

galera, eh o seguinte, eu to precisando de uma query que funciona em 4 tabelas (usa 4 tabelas), usa da seguinte forma

 

1 tabela - atendimentoOnline_atendentes -> contem a situacao atual dos atendentes, para saber quem esta online

2 tabela - atendimentoOnline_chamadas -> contem as chamadas para os atendentes, pode ter varios ou nenhum registro, depende se esta tendo alguma chamada ou nao

3 tabela - usuarios -> usuarios do sistema (para atendentes)

4 tabela - departamentos -> lista dos departamentos

 

oque eu preciso é o seguinte, dado 1 departamento, eu preciso descobrir qual dos atendentes (daquele departamento) esta menos ocupado (ou livre), entao, para isso usando o ID do usuario eu preciso fazer uma contagem de chamadas ativas para cada atendente, e ver qual tem menos chamadas, eu cheguei nessa query aqui:

 

select	atendimentoOnline_atendentes.userID as userIDfrom	atendimentoOnline_atendentes inner join	atendimentoOnline_chamadas inner join	usuarios inner join	departamentoswhere	atendimentoOnline_atendentes.userID = usuarios.userID and	usuarios.departamentoID = departamentos.departamentoID and	departamentos.departamentoID = 1group by	atendimentoOnline_chamadas.userIDorder by	count(atendimentoOnline_chamadas.userID) asclimit 1

o problema dessa query, é que quando o atendente esta livre (sem chamadas) nada é encontrado na tabela das chamadas, entao o registro dele nao é retornado... ou seja, soh funciona se cada atendente tiver pelo menos 1 chamada...

 

como eu faco pra funcionar mesmo quando o atendente nao tiver nenhuma chamada?

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.