e-Renata 0 Denunciar post Postado Julho 18, 2006 PessoALL,Num comando DECODE () podemos colocar quantos campos 'default'? Digo, numa situação assim:Para cada laboratório, teremos:ENTOMOLOGIA se pr.processo = labo.processo e labo.lab = 'ENTO'- DATA DE ENTRADA labo.labodt- ACESSOS labo.nacc- LAUDO se pana.isento = 'X' então 'Ausência de insetos'Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxnoouACAROLOGIA se pr.processo = labo.processo e labo.lab = 'ACAR' - DATA DE ENTRADA labo.labodt - ACESSOS labo.nacc - LAUDO se pana.isento = 'X' então 'Ausência de ácaros' Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxno ouBACTERIOLOGIA se pr.processo = labo.processo e labo.lab = 'BACT' - DATA DE ENTRADA labo.labodt - ACESSOS labo.nacc - LAUDO se pana.isento = 'X' então 'Ausência de bactérias' Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxno ouMICOLOGIA se pr.processo = labo.processo e labo.lab = 'MICO' - DATA DE ENTRADA labo.labodt - ACESSOS labo.nacc - LAUDO se pana.isento = 'X' então 'Ausência de fungos' Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxno ouNEMATOLOGIA se pr.processo = labo.processo e labo.lab = 'NEMA' - DATA DE ENTRADA labo.labodt - ACESSOS labo.nacc - LAUDO se pana.isento = 'X' então 'Ausência de nematóides' Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxno ouVIROLOGIA se pr.processo = labo.processo e labo.lab = 'VIRO' - DATA DE ENTRADA labo.labodt - ACESSOS labo.nacc - LAUDO se pana.isento = 'X' então 'Ausência de virus' Caso contrário, display ptax.taxon quando labo.labo = pana.labo e pana.nana = prade.nana e prade.ptaxno = ptax.ptaxnoserá que está certo implementar assim?decode (labo.lab, 'ENTO', 'Entomologia', pana.isento, 'X', 'Ausência de insetos', labo.labodt, labo.nacc, ptax.taxon, 'ACAR', 'Acarologia', pana.isento, 'X', 'Ausência de ácaros', labo.labodt, labo.nacc, ptax.taxon, 'BACT' , 'Bacteriologia', pana.isento, 'X', 'Ausência de bactérias', labo.labodt, labo.nacc, ptax.taxon, 'MICO' , 'Micologia', pana.isento, 'X', 'Ausência de fungos', labo.labodt, labo.nacc, ptax.taxon, 'NEMA', 'Nematologia', pana.isento, 'X', 'Ausência de nematóides', labo.labodt, labo.nacc, ptax.taxon, 'VIRO', 'Virologia', pana.isento, 'X', 'Ausência de virus', labo.labodt, labo.nacc, ptax.taxon)Se estiver errado, como é que faz? E se eu usasse o CASE, como ficaria?Grata a quem me ajudar... por favor, é urgente! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 18, 2006 O decode só retorna um valor, para mais de um criei outro decode. decode(cod,'ent','entomologia','mor','morfologia','outros') pode ter um decode dentro de outro decode(cod,1,decode(lingua,'pt','um','one'), 2,decode(lingua,'pt','dois','two')) não sei bem se é isto o que você quer. Compartilhar este post Link para o post Compartilhar em outros sites
e-Renata 0 Denunciar post Postado Julho 20, 2006 Obrigada.Vou tentar esse 'decode embutido' pra ver no que dá. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Julho 24, 2006 Pq não tenta utilizar um CASE desde DECODE? Abraços, :lol: Compartilhar este post Link para o post Compartilhar em outros sites
e-Renata 0 Denunciar post Postado Julho 24, 2006 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Obrigada pela atenção, já terminei. Ficou assim: usei o Oracle Reports Builder 6.0, no Assistente de Relatórios: "Agrupar acima" e o SQL: select distinct substr(pr.processo,5,4)||'/'||substr(pr.processo,1,4) as Processo, pr.procdt as Data, geo.country as País, substr(pr.tit, 1,20) as Produto, dform.ndform as Material, labo.labodt as Dt_entrada, labo.nacc as Acessos, decode (pr.impti, 'IM', 'Importação', 'EX', 'Exportação', 'TI', 'Trânsito Interno') as Movimentação, decode (labo.lab, 'ENTO', 'Entomologia', 'ACAR', 'Acarologia', 'BACT' , 'Bacteriologia', 'MICO' , 'Micologia', 'NEMA', 'Nematologia', 'VIRO', 'Virologia') as Laboratório, case when labo.lab = 'ENTO' and pana.isento = 'X' then 'Ausência de insetos' when labo.lab = 'ACAR' and pana.isento = 'X' then 'Ausência de ácaros' when labo.lab = 'BACT' and pana.isento = 'X' then 'Ausência de bactérias' when labo.lab = 'MICO' and pana.isento = 'X' then 'Ausência de fungos' when labo.lab = 'NEMA' and pana.isento = 'X' then 'Ausência de nematóides' when labo.lab = 'VIRO' and pana.isento = 'X' then 'Ausência de virus' else ptax.taxon end Laudo from pr, labo, lau, coop, geo, dform, pana, prade, ptax where lau.sepadt between : de and :ate and pr.processo = labo.processo and pr.processo = lau.processo and pr.cnop = coop.cno and coop.geono = geo.geono and pr.dform = dform.dform and labo.labo = pana.labo and pana.nana = prade.nana and prade.ptaxno = ptax.ptaxno; Compartilhar este post Link para o post Compartilhar em outros sites