Em 27/02/14, Carlos Antônio Pereira (VidaUTI)<[email protected]> escreveu: > > Amigão, você deve usuar o JOIN. > De uma lida no site http://www.w3schools.com/sql/sql_join.asp para > saber a respeito. > > Vou tentar te ajudar com o SQL abaixo: > > SELECT triagem.sintomatologia, triagem.orientacao, cid10.diagnostico, > cid10.cid > INTO record1 > FROM triagem > INNER JOIN cid10 ON triagem.triagemid = cid10.triagemid AND > cid10.servico = p_servico > WHERE triagem.servico = p_servico; > > > Vou explicar o contexto do negócio e o sistema: > > É uma empresa de emergência médica móvel. O sistema está sendo desenvolvido > > em EXTJS. > > Então, para um serviço temos: > Tabela para registro dos serviços: classificacao, nome do paciente, idade, > endereco... > > A classificação do serviço pode ser: Remoção ou Atendimento pré-hospitalar. > Sendo remoção, teria o registro pertinente à remoção em uma tabela: > dtagenda, destino1, destino2, etc... > > Ainda numa outra tabela observacao, tenho: > tipo e descricao da observaçao, mais a fk do servico: > > num_servico, tipo, descricao > > Nesta tabela mantenho os registros de tipo text: > > Exemplo > num_servico, tipo, descricao > 100 1 ORIENTACAO AO PACIENTE > 100 2 QUADRO CLINICO DO PACIENTE > 100 3 SINTOMATOLOGIA DO PACIENTE > 100 4 OBSERVACOES SOBRE O SERVICO > 100 5 OBSERVACOES SOBRE A REMOCAO > > > Quando eu fizer uma seleção para mostrar o registro, faira assim assim: > > SELECT * FROM servico WHERE num_servico = 100; > SELECT * FROM servico_remocao WHERE num_servico = 100; > SELECT descricao as orientacao FROM observacao WHERE num_servico = 100 AND > > tipo = 1; > SELECT descricao as quadro_clinico FROM observacao WHERE num_servico = 100 > > AND tipo = 2; > SELECT descricao as obs_servico FROM observacao WHERE num_servico = 100 AND > > tipo = 4; > SELECT descricao as obs_remocao FROM observacao WHERE num_servico = 100 AND > > tipo = 5; > > Lembrando que: > nem todo serviço tem registro de remoção, nem todo serviço tem registro de > orientacao, quadro_clinico, obs_servico, obs_remocao. > > Então, no lugar de enviar varias consultas de um cliente para o servidor, > pensei em buscar tudo com uma funcao. >
Então, como já foi dito antes, estude os diversos tipos de JOIN que, pela sua explicação, me parece que você desconhece, e faça uma única consulta. http://www.postgresql.org/docs/current/interactive/tutorial-join.html Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
