Consultas SQL (HELP)
30/10/2015
0
Tenho 2 tabelas medicos e pacientes e preciso buscar todos os nomes dos medicos e de todos os pacientes..
Porém ao realizar a busca com
SELECT paciente.nome,medico.nome FROM paciente,medico
os dados ficam multiplicados, queria gerar um relatório tipo: colona 1 nome de todos pacientes, coluna 2 nome de todos os médicos.
Alguém pode me ajudar?
Abraços!!
Diego Cerqueira
Posts
04/11/2015
Fernando Vicari
Da maneira que você fez para cada registro da tabela paciente você lista todos os médicos o que gera a duplicidade.
Se você somente precisa listar os nomes sugiro você utilizar um union:
select nome from paciente union select nome from medico
Se você deseja saber além do nome se é médico ou paciente pode criar uma coluna com valor fixo em cada um dos selects do union.
06/11/2015
Anacleto Linux
como tens duas tabelas Médico e Paciente e queres só nome dos dois, podes fazer uma junção de tabelas. Vamos supor que um médico atende vários pacientes, mas um paciente só pode ser atendido por um médico (é só um exemplo).
SELECT t1.NomeMed AS Nome do Médico, t2.NomePac AS Nome do Paciente FROM Tb_Medico AS t1 INNER JOIN Tb_Paciente AS t2 ON t1.CodMed = t2.CodMed;
Resultado:
Nome do Médio Nome do Paciente
Anacleto Bunga Diego Cerqueira
Juliana Pedro Stive Job
Espero ter ajudado.
06/11/2015
Anacleto Linux
como tens duas tabelas Médico e Paciente e queres só nome dos dois, podes fazer uma junção de tabelas. Vamos supor que um médico atende vários pacientes, mas um paciente só pode ser atendido por um médico (é só um exemplo).
SELECT t1.NomeMed AS Nome do Médico, t2.NomePac AS Nome do Paciente FROM Tb_Medico AS t1 INNER JOIN Tb_Paciente AS t2 ON t1.CodMed = t2.CodMed;
Resultado:
Nome do Médio Nome do Paciente Anacleto Bunga Diego Cerqueira Juliana Pedro Stive Job
Espero ter ajudado.
Clique aqui para fazer login e interagir na Comunidade :)