Consultas SQL (HELP)

30/10/2015

0

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!!
Diego Cerqueira

Diego Cerqueira

Responder

Posts

04/11/2015

Fernando Vicari

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:
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.
Responder

06/11/2015

Anacleto Linux

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).


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.
Responder

06/11/2015

Anacleto Linux

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).


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.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar