Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asacap1000

Trazer subselects em campos distintos

Recommended Posts

Galera aí vai eu de novo, estou com um select na qual a consulta base é em apenas uma tabela, porém existem 04 campos nesta tabela que só apresentam o código, mas precisamos retornar o nome referente a cada código também. Ao analisar a relação os 04 campos tem ligação com apenas uma tabela que consta o nome. Se eu fizer um select individual ele me traz normalmente porém se eu colocar todos só da zica. Eu precisaria trazer a consulta com mais campos incluindo os campos destes subselects. como que eu faço? Já consultei e testei de várias formas e não sai.

--select * from cda cd --> tabela principal que constam as informações  

(select cd.seller || ' (' || k.name || ')' as seller
          from cda cd
          LEFT OUTER JOIN klienten k
            on cd.seller = k.id_klient),

       (select  cd.mandatary || ' (' || k.name || ')' as mandatary
          from cda cd
          LEFT OUTER JOIN klienten k
            on cd.mandatary = k.id_klient),

       (select  cd.purchaser || ' (' || k.name || ')' as purchaser
          from cda cd
          LEFT OUTER JOIN klienten k
            on cd.purchaser = k.id_klient),

       (select cd.endorsees || ' (' || k.name || ')' as endorsees
          from cda cd
          LEFT OUTER JOIN klienten k
            on cd.endorsees = k.id_klient) 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ajudou sim , porém se houverem campos vazios nesta tabela


o Ultimo campo endeorsses, só aparece uma vez nesta tabela, como fazer para as outras tabelas ficarem como 0


Deu certo veja o que fiz,

select cd.nr_cda,
       cd.seller || ' (' || k.name || ')' as seller,
       cd.mandatary || ' (' || l.name || ')' as mandatary,
       cd.purchaser || ' (' || m.name || ')' as purchaser,
cd.endorsees || ' (' || n.name || ')' as endorsees
  from cda cd
 left JOIN klienten k
    ON (k.id_klient = cd.seller)
 left JOIN klienten l
    ON (l.id_klient = cd.mandatary)
 left JOIN klienten m
    ON (m.id_klient = cd.purchaser)
 left JOIN klienten n
    ON (n.id_klient = cd.endorsees)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.