Consultas SQL (HELP)
Boa noite! Sou iniciante em SQL e estou com algumas dúvidas quanto a buscas no meu banco para resolução de alguns exercicios na faculdade.
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!!
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
Curtidas 0
Respostas
Fernando Vicari
30/10/2015
Boa noite Diego
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:
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.
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.
GOSTEI 0
Anacleto Linux
30/10/2015
Podes fazer pela dica do Fernando Cezar Vicari mesmo ou então por esta:
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).
Resultado:
Nome do Médio Nome do Paciente
Anacleto Bunga Diego Cerqueira
Juliana Pedro Stive Job
Espero ter ajudado.
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.
GOSTEI 0
Anacleto Linux
30/10/2015
Podes fazer pela dica do Fernando Cezar Vicari mesmo ou então por esta:
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).
Resultado:
Espero ter ajudado.
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.
GOSTEI 0