Ir para conteúdo

POWERED BY:

Arquivado

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

Heber Almeida

SQL identificar o maior

Recommended Posts

salve, salve galera do forum imaster, preciso de um help, o lance é o seguinte tenho um sistema que trabalha com agendamento e estou precisando realizar uma query avançada, o lance é o seguinte tenho uma tabela chamada agenda e esta agenda é de um usuário, no momento em que o usuário falta está agenda é alterada temporariamente pra outro usuário manualmente, apenas alterando o usuários, existe outra tabela agenda_resposta nesta tabela funciona da seguinte forma o usuário agenda uma nova data para atendimento que faz um update na tabela agenda apenas de data e hora e cadastra um registro novo nesta mesma tabela com data, hora, descritivo e usuário. gostaria de fazer o seguinte um update onde na tabela agenda_resposta o números de retorno for maior por um usuário, quero que esta agenda fique pro usuário na tabela agenda.

 

 

exemplo

 

tbl_agenda

id_agenda

data

hora

descritivo

usuario_id

 

(possui Relacionamento)

tbl_agenda_resposta

id_agenda_resp

id_agenda

datacad

descritivo

usuario_id

 

o usuário que possui o maior "agenda_retorno" de um update na "agenda" colocando o id do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usuario cria uma nova agenda, marca pra ligar dia 01/04/2011 as 09:00hs, este dado vai pra tblagenda, as 09:00 atraves de um grid o usuário sabe que tem que ligar pro cliente liga pro cliente no caso de não encontrar o cliente marca o agendamento pra 02/04/2011 as 09:00hs (Sistema update na tblagenda modificando data e hora e criando um novo registro na tblagenda_resposta relacionado a tblagenda pra fazer um histórico gravando a data e hora no momento em que agendou o update na agenda)certo e por ai vai, seguindo esta rotina.

Agora começa a brincadeira, quando falta o usuário ou sai de férias, esta agenda é passada pra um novo usuário, que realiza o update na agenda, e gravando os historicos junto a tblagenda_resposta beleza, gostaria fazer um update geral sendo que quem tiver mais historico na tblagendamento de determinado cliente possa ser o dono deste cliente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT COUNT(agenda_resp.ar_id) AS agendaresp, agenda_resp.ar_u_id
FROM agenda_resp, agenda
WHERE agenda_resp.ar_ag_id = agenda.ag_id
GROUP BY agenda_resp.ar_ag_id

 

Resultado;

agendaresp     -   ar_u_id
3                    5
12                   3
10                   7
1                    12

 

 

na primeira linha possue 3 agendamentos, mas pode ser que 2 ou 1 agendamentos sejam de outro usuário, quero fazer o seguinte.

analisando a linha 1 somente.

possue 3 registros

agendaresp    -    ar_u_id
registro 1    -       2
registro 2    -       2
registro 3    -       5

 

gostaria de realizar um SELECT onde mostra o SQL acima mas identificando o usuário que possue maior quantidade de agendamentos, tipo a linha 1 deveria aparecer 3 registros, usuario 2 e não 5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não bastaria agrupar pelo campo usuario_id e ordenar pela quantidade de forma descendente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT COUNT(agenda_resp.ar_id) AS agendaresp, agenda_resp.usuario_id
FROM agenda_resp, agenda
WHERE agenda_resp.ar_ag_id = agenda.ag_id
GROUP BY agenda_resp.usuario_id

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.