Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 14 anos atrás por Avatar de diego_ajdiego_aj.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #95104
    Avatar de dtelesdteles
    Participante

      Pessoal estou precisando efetuar um update de uma tabela fazendo um select com join em outra tabela. O problema e o seguinte
      preciso colocar GNA ou Outros no campo criadas_group_master
      da tabela tbl_os_siebel caso o usuario desta linha da tabela criado_por seja igual ao f.username da tabela us_adm.tbl_funcionarios f se isso for verdade coloco GNA se nao coloco Outros, porem nao esta funcionando, alguem pode ajudar ai
      segue o SQL abaixo

      update tbl_os_siebel t set
      t.criadas_group_master=
      (select case when src.username is null then ‘Outros’ Else ‘GNA’end as REFMASTER
      from
      (select r.numero_da_os, f.username
      from us_adm.tbl_funcionarios f, tbl_os_siebel r
      where r.criado_por=f.username(+)
      and r.aberto_em>=to_date(’12/07/2010′,’DD/MM/YYYY’)) src
      where t.numero_da_os = src.numero_da_os
      and t.criadas_group_master is null)

      where exists

      (select case when src.username is null then ‘Outros’ Else ‘GNA’end as REFMASTER
      from
      (select r.numero_da_os, f.username
      from us_adm.tbl_funcionarios f, tbl_os_siebel r
      where r.criado_por=f.username(+)
      and r.aberto_em>=to_date(’12/07/2010′,’DD/MM/YYYY’)) src
      where t.numero_da_os = src.numero_da_os
      and t.criadas_group_master is null)

      #95109
      Avatar de diego_ajdiego_aj
      Participante

        Bom dia brother,
        Pelo que entendi, fazendo em um bloco com um for daria certo,
        tenta assim:

        declare
        begin
        for x in (select codigo,
        criado_por
        from tbl_os_siebel t,
        us_adm.tbl_funcionarios f
        where t.criado_por = f.username(+)) loop
        update tbl_os_siebel
        set criadas_group_master = decode(x.criado_por, null, ‘Outros’, ‘GNA’)
        where codigo = x.codigo;
        end loop;
        end;

        Obs.: Provavelmente a tabela tbl_os_siebel tem uma chave primaria,
        substitui os codigo do meu exemplo pelo campo chave da sua tabela.
        Qualquer coisa, responde aee, flw!!

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