Marcio Bezerra Postado Novembro 20, 2014 Denunciar Share Postado Novembro 20, 2014 Boa noite pessoal, estou com uma dúvida, gostaria que vocês me ajudassem: Seguinte: Temos as tabelas: TABELA prontuario id id_paciente data_atendimento id_medico id_atend ... Tabela medicos id_medico med_nome ... Tabela tipo_atendimento id_atend tipo_atend ... -------------------------------------- Quero listar todos os prontuários de um paciente, realizados em um peróodo de data especifico. Fiz a seguinte consulta: SELECT prontuario. * , medicos.id_medico, med_nome, tipo_atendimento.id_atend, tipo_atend FROM prontuario, medicos, tipo_atendimento WHERE prontuario.id_paciente = '224' AND (prontuario.data_atendimento BETWEEN '2014-01-01' AND '2014-12-30') LIMIT 0 , 30; Ele retorna os registros do prontuario, mais duplica várias vezes, com os nomes dos médicos e os tipos de atendimentos. na tabela prontuario só existe 2 registros com esse id, no período que selecionei. porém ele retornou 29 registros repetindo o id para todas as tabelas. como deveria fazer essa consulta. Grato, Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 21, 2014 Denunciar Share Postado Novembro 21, 2014 Baseado na estrutura de dados que você postou faça: SELECT p.id, p.id_paciente, p.data_atendimento, m.med_nome, t.tipo_atend FROM prontuario p INNER JOIN medicos m ON m.id_medico = p.id_medico INNER JOIN tipo_atendimento t ON t.id_atend = p.id_atend WHERE prontuario.id_paciente = '224' AND (p.data_atendimento BETWEEN '2014-01-01' AND '2014-12-30') LIMIT 0 , 30; Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio Bezerra Postado Novembro 21, 2014 Autor Denunciar Share Postado Novembro 21, 2014 Muito obrigado pela resposta. É isso mesmo. Abriu meus horizontes. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcio Bezerra
Boa noite pessoal, estou com uma dúvida, gostaria que vocês me ajudassem:
Seguinte:
Temos as tabelas:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados