Jump to content

Archived

This topic is now archived and is closed to further replies.

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) 

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.