Em 27 de fevereiro de 2014 16:35, Carlos Antônio Pereira (VidaUTI) <
[email protected]> escreveu:

> 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.
>>
>
> Osvaldo,
>
> Em um contexto de junção eu faria isso:
>
> SELECT
>    s.*,  -- Registros do servico
>    r.*,  -- Registros da Remocao
>    st.ocorrencia AS sintomatologia, -- sintomatologia
>    o.ocorrencia AS orientacao -- orientacao
>
> FROM servico s
>
>  -- Liga remocao quando existir
>  LEFT JOIN servico_agenda_remocao r
>   ON (s.num_servico = r.num_servico)
>
>  --Liga orientacao quando existir
>  LEFT JOIN servico_ocorrencias AS o
>   ON (s.num_servico = o.num_servico AND o.referencia = '00')
>
>
>  --Liga sintomatologia quando existir
>  LEFT JOIN servico_ocorrencias AS st
>   ON (s.num_servico = st.num_servico AND st.referencia = '01')
>
>
>  --Liga quadro clinico quando existir
>  LEFT JOIN servico_ocorrencias AS qc
>   ON (s.num_servico = qc.num_servico AND qc.referencia = '04')
>
> WHERE s.num_servico = 227571
>
>
> Isso resolve.
> Minha intenção com uma função seria  avaliar a classificação do serviço
> (Atendimento ou Remoção)
> e buscar apenas o que for pertinente:
>
> Atendimento:
> Possui 1 registro em serviço, 1 registro de sintomatologia e 1 registro de
> orientacao
> Remocao:
> Possui 1 registro em serviço, 1 registro em servico_remocao e 1 registro
> de quadro clinico
>
>
> Finalmente, o cerne da minha pergunta (vide título) seria da possibilidade
> de concatenar variaveis do tipo record e retorná-las.
> Nem entrei no contexto do negócio porque isso é irrelevante pelo texto que
> submeti à lista.
>
> SELECT 1 as um, 2 as dois INTO rec1       // Um retorno de única linha
> SELECT 3 as tres, 4 as quatro INTO rec2  // Um retorno de única linha
>
> concatenação rec1 X rec2:
>
> um dois tres quatro
> 1       2     3       4
>
>
> Att Carlos
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

Carlos
vc tentou com o  array_to_string que passei? utilizamos ele para trazer em
uma unica linha todos os cupons de uma nota fiscal separados por ';' ponto
e virgula.

-- 

Douglas Fabiano Specht
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a