Fórum Dúvida sobre um consulta sql que não esta dando certo #409052
03/11/2011
0
É o seguinte fiz uma aplicação para o cadastro de varios paciente de um projeto que esta acontecendo aqui na minha cidade.
Esses pacientes fazem varis exames.
portanto o banco de dados tem as seguintes tabelas.:
CADASTRO (Onde fica todos os dados dos paciente)
SANGUE (Onde fica os resultados dos exames do SANGUE)
ANTROPOMETRIA (Onde fica os resultados dos exames da ANTROPOMETRIA)
MAPA(Onde fica os resultados dos exames do MAPA)
E cada paciente tem um numero de paciente e numero da família.
Nos exames de SANGUE, ANTROPOMETRIA e MAPA os campos (NOME, NUM PACIENTE E NUM FAMILIA) são chaves estrangeiras da tabela de CADASTRO.
Eu preciso fazer uma consulta que me retorna-se o seguinte.:
Abra o link para ver a imagem http://www.portalcristo.com.br/portal/Sem título1.jpg
Como vocês podem ver todos os pacientes estão ai mesmo que ele não tenha feito exames nenhum mais os dados dele esta ali. E como tudo esta em tabelas separadas preciso montar uma SQL que através da chave estrangeira una os resultados dos exames aos pacientes de cada exame.
Caso eu não tenha sido muito claro apostem ai que tento formular melhor minha pergunta .
Meu Banco de Dados tem as seguintes tabelas e campos
Abra o link para ver a imagem http://www.portalcristo.com.br/portal/Sem título.jpg
Desde já agradeço a todos!!!
Rerisson Lima
Curtir tópico
+ 0Posts
03/11/2011
Emerson Nascimento
SELECT *
FROM CADASTRO C
LEFT JOIN ANTROPOMETRIA A ON A.NOME_A = C.NOME AND A.NUM_PACI_A = C.NUM_PACI AND A.NUM_FAMI_A = C.NUM_FAMI
LEFT JOIN MAPA M ON M.NOME_M = C.NOME AND M.NUM_PACI_M = C.NUM_PACI AND M.NUM_FAMI_M = C.NUM_FAMI
LEFT JOIN SANGUE S ON S.NOME_S = C.NOME AND S.NUM_PACI_S = C.NUM_PACI AND S.NUM_FAMI_S = C.NUM_FAMI
WHERE NOT (A.CODIGO IS NULL AND M.CODIGO IS NULL AND S.CODIGO IS NULL)
note que poderá ser necessário GROUP BY ou DISTINCT para exibir os dados.
Gostei + 0
03/11/2011
Wilson Junior
Espero ter colaborado.
Gostei + 0
03/11/2011
Wilson Junior
Gostei + 0
03/11/2011
Rerisson Lima
ESTOU DEVENDO ESSA PARA VOCÊS
Gostei + 0
03/11/2011
Rerisson Lima
Para quem quiser saber minha consulta ficou assim
select cadastro.*, sangue.*, antropometria.* from cadastro LEFT JOIN sangue ON cadastro.codigo = sangue.num_paci_s LEFT JOIN antropometria ON cadastro.codigo = antropometria.num_paci_a LEFT JOIN mapa ON cadastro.codigo = mapa.num_paci_m order by sangue.num_paci_s, antropometria.num_paci_a, mapa.num_paci_m
Agradoço a todos do FORUM
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)