Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #99079
    drigo
    Participante

      Olaa,

      Estou tentando realizar a concatenação de duas colunas, conforme mostra o select abaixo:

      SELECT
      pessoa.nome,
      pessoa.sobrenome,
      pessoa.cpf,

      //O erro ocorre ao tentar a concatenação abaixo:
      log.abreviacao || ‘ ‘ || log.nome_local AS REFERENCIA,

      end.bairro,
      end.apart

      FROM

      WHERE…

      Se retirada a concatenação, o select FUNCIONA PERFEITAMENTE, mas caso a concatenação seja colocada,o seguinte erro acontece:

      Relatório de Erro:
      Erro de SQL: ORA-00918: column ambiguously defined
      00918. 00000 – “column ambiguously defined”

      Como resolver tal problema, de forma a possibilitar o uso da concatenação ???

      Desde Já, Agradeço.

      #99088
      rman
      Participante

        [quote=”drigo”:329w6j1p]Olaa,

              Estou tentando realizar a concatenação de duas colunas, conforme mostra o select abaixo:
        

        SELECT
        pessoa.nome,
        pessoa.sobrenome,
        pessoa.cpf,

        //O erro ocorre ao tentar a concatenação abaixo:
        log.abreviacao || ‘ ‘ || log.nome_local AS REFERENCIA,

        end.bairro,
        end.apart

        FROM

        WHERE…

        Se retirada a concatenação, o select FUNCIONA PERFEITAMENTE, mas caso a concatenação seja colocada,o seguinte erro acontece:

        Relatório de Erro:
        Erro de SQL: ORA-00918: column ambiguously defined
        00918. 00000 – “column ambiguously defined”

        Como resolver tal problema, de forma a possibilitar o uso da concatenação ???

        Desde Já, Agradeço.[/quote]

        Aparentemente não é erro de concatenação não.

        Posta uma DESC das tabelas envolvidas no SELECT, o SELECT completo que da erro, e o SELECT completo que da certo (sem a concatenação, mas com os campos).

        #99092
        drigo
        Participante

          1) Select que dá o Erro de Concatenação:

          SELECT

           alp.id_im,
           alp.id_end,
           alp.codMun, 
           alp.codMac, 
           alp.codPs, 
           alp.codPf, 
           alp.codQua, 
           alp.codLot, 
           alp.codEd,
           alp.codUn, 
          
           //Concatenação que gera o problema.
           vie.abLo || '' || vie.nomeLo AS Amostra,
          
           edi.valp, 
           edi.bair,
           pss.nam, 
           pss.sex, 
           irre.rg,
           grp.codFam,
           pf.pfname
          
           FROM melmd.Tab_Mob alp
           LEFT JOIN melmd.viewGr vie ON alp.codMun = vie.codMun 
           LEFT JOIN melmd.tabend edi ON edi.cdoLog = vie.cdoLog AND alp.idEnd = edi.idEnd
           JOIN melmd.Tabpe pss ON pss.idIm = alp.idIm
           LEFT JOIN melmd.TabRp irre ON irre.resId = pss.resId
           JOIN melmd.tabGf grp ON grp.idGf = pss.idGf
           JOIN tabEnt ten ON alp.idIm = ten .codPf
           JOIN tabReE irre ON alp.idIm = irre.EntId
           JOIN melmd.pg42 pf ON alp.codMun = pf.codMun
           AND alp.codMac = pf.codMac 
           AND alp.codPs = pf.codPs 
           AND alp.codPf = pf.codPf
          

          WHERE

           irre.tEnt = 4 AND
           pss.Pfam = 1 AND                          
          
           alp.codMun = 1111
           AND alp.codMac = 3
           AND alp.codPs = 55
           AND alp.codPf = 78
           AND alp.idIm 
          
           IN (SELECT idIm
           FROM Tabpe pss
           WHERE pfam=1
           AND resId NOT IN (SELECT resId FROM TabRp))
          
           AND alp.codMun=1111;
          

          2) Select que não dá Erro:

          SELECT

           alp.id_im,
           alp.id_end,
           alp.codMun, 
           alp.codMac, 
           alp.codPs, 
           alp.codPf, 
           alp.codQua, 
           alp.codLot, 
           alp.codEd,
           alp.codUn, 
           vie.abLo,
           vie.nomeLo,
           edi.valp, 
           edi.bair,
           pss.nam, 
           pss.sex, 
           irre.rg,
           grp.codFam,
           pf.pfname
          
           FROM melmd.Tab_Mob alp
           LEFT JOIN melmd.viewGr vie ON alp.codMun = vie.codMun 
           LEFT JOIN melmd.tabend edi ON edi.cdoLog = vie.cdoLog AND alp.idEnd = edi.idEnd
           JOIN melmd.Tabpe pss ON pss.idIm = alp.idIm
           LEFT JOIN melmd.TabRp irre ON irre.resId = pss.resId
           JOIN melmd.tabGf grp ON grp.idGf = pss.idGf
           JOIN tabEnt ten ON alp.idIm = ten .codPf
           JOIN tabReE irre ON alp.idIm = irre.EntId
           JOIN melmd.pg42 pf ON alp.codMun = pf.codMun
           AND alp.codMac = pf.codMac 
           AND alp.codPs = pf.codPs 
           AND alp.codPf = pf.codPf
          

          WHERE

           irre.tEnt = 4 AND
           pss.Pfam = 1 AND                          
          
           alp.codMun = 1111
           AND alp.codMac = 3
           AND alp.codPs = 55
           AND alp.codPf = 78
           AND alp.idIm 
          
           IN (SELECT idIm
           FROM Tabpe pss
           WHERE pfam=1
           AND resId NOT IN (SELECT resId FROM TabRp))
          
           AND alp.codMun=1111;
          

          Grato pela Atenção.

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.