Select em tres tabelas

2 respostas
manhanijava

Boa tarde galera, ve se alguem consegue me ajudar.

BANCO DE DADOS: POSTGRES 9.0

Tenho uma tabela paciente com os seguintes campo

serial_id_paciente  PK
varchar_nome_paciente
integer_id_convenio_paciente  FK_
integer_id_plano_paciente     FK_

uma tabela convenio com os seguintes campos

serial_id_convenio   PK
varchar_nome_convenio

e uma terceira tabela chamada plano com o seguinte campo

serial_id_plano                  PK
integer_id_convenio_plano FK 
varchar_nome_plano

Como faço pra executar uma query no qual traga o paciente o nome do convenio e o nome do plano ex.:
na tabela paciente estara populada com o exemplo abaixo

[b]
serial_id_paciente      varchar_nome_paciente    integer_id_convenio_paciente      integer_id_plano_paciente  [/b]  

1                               Paulo Manhani                  1                                                 1
2                               Sofia Manhani                   1                                                 2

ou seja quando eu fazer o select ao invés de trazer o paciente com o código do convenio e de seu plano, gostaria de ir na tabela convenio e na tabela plano e trazer
os nomes ao invés dos códigos.

Se alguém entender o que escrevi da um help ai

2 Respostas

brunogalvaods

Fala aí manhanijava,

Vê se dá certo aí essa query aqui no seu banco!

SELECT p.serial_id_paciente, p.varchar_nome_paciente, c.varchar_nome_convenio, p.varchar_nome_plano
FROM paciente p, convenio c, plano p
WHERE p.integer_id_convenio_paciente = c.serial_id_convenio AND p.integer_id_plano_paciente = p.serial_id_plano;

Abç

manhanijava

brunogalvaods:
Fala aí manhanijava,

Vê se dá certo aí essa query aqui no seu banco!

SELECT p.serial_id_paciente, p.varchar_nome_paciente, c.varchar_nome_convenio, p.varchar_nome_plano
FROM paciente p, convenio c, plano p
WHERE p.integer_id_convenio_paciente = c.serial_id_convenio AND p.integer_id_plano_paciente = p.serial_id_plano;

Abç

dito e feito amigão, muito grato, eu estava comendo bola após a clausula and. estava comparando o id plano da tabela convenio com a tabela plano e o correto seria trazer o id da tabela paciente com o id da tabela plano

Criado 14 de janeiro de 2012
Ultima resposta 16 de jan. de 2012
Respostas 2
Participantes 2