New Job 0 Denunciar post Postado Dezembro 1, 2011 Bom dia pessoal. Preciso de uma ajuda com a lógica para fazer uma consulta no banco. é uma consulta em duas tabelas Tabela 1 (medicos) ------------------------------- cod nome ------------------------------- Tabela 2 (consultas) ------------------------------- cod_consulta data cod_medico ------------------------------- Gostaria de ter o seguinte resultado: Verificar quais os médicos (top 5) são mais requisitados pelo número de consultas feitas. ex: Medicos: 1 - João 2 - Marcio 3 - Paulo Consultas: 1 - 10.10.2011 - Paulo 2 - 10.10.2011 - Marcio 3 - 11.10.2011 - Paulo 4 - 12.10.2011 - Paulo 5 - 14.10.2011 - Paulo 6 - 14.10.2011 - Marcio Resultado desejado: (listar por ordem de mais consultas) 1 - Paulo (4 consultas) 2 - Marcio (2 consultas) 3 - João (nenhuma) Estou me perdendo em como eu faço a lógica das consultas. Alguém ai tem alguma sugestão? Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Dezembro 1, 2011 Verificar quais os médicos (top 5) são mais requisitados pelo número de consultas feitas. SELECT nome, COUNT(*) AS total_consultas FROM medicos AS m JOIN consultas AS c ON m.cod = c.cod_medico GROUP BY c.cod_medico ORDER BY total_consultas DESC Compartilhar este post Link para o post Compartilhar em outros sites
New Job 0 Denunciar post Postado Dezembro 6, 2011 SELECT nome, COUNT(*) AS total_consultas FROM medicos AS m JOIN consultas AS c ON m.cod = c.cod_medico GROUP BY c.cod_medico ORDER BY total_consultas DESC Henrique, muito Obrigado. Era exatamente isto que eu estava precisando. Muito ninja esse Select. Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites