Ir para conteúdo
Fórum Script Brasil
  • 0

UPDATE + SUBQUERY


ROMANVPP

Pergunta

Boa tarde pessoal,

Tenho essa consulta que me retorna 353 registros:

select distinct di.idlaf,di.numitem,dic.natrec from dlaf dl

inner join ditem di on (di.idlaf = dl.idlaf)

left join ditemcompl dic on (dic.idlaf = di.idlaf and di.numitem = dic.numitem)

inner join tprd tp on (tp.idprd = di.idprd)

inner join dtrbitem dti on (dti.idlaf = di.idlaf and dti.numitem = di.numitem)

where tp.descricao like '%arroz%' and dl.tipolf = 'S'

and dl.dataemissao >= '2011/08/01' and dl.dataemissao <= '2011/08/31'

and dti.sittributaria in ('04','06') and dl.seriedoc in ('1','ECF')

and dic.natrec is null

order by di.idlaf

Preciso atualizar o campo dic.natrec desses 353 registros. Fiz assim:

update ditemcompl set natrec = '105'

from dlaf dl inner join ditem di on (dl.idlaf = di.idlaf)

left join ditemcompl dic on (dic.idlaf = di.idlaf and dic.numitem = di.numitem)

inner join tprd tp on (tp.idprd = di.idprd)

inner join dtrbitem dti on (dti.idlaf = di.idlaf and dti.numitem = di.numitem)

where tp.descricao like '%arroz%' and dl.tipolf = 'S'

and dl.dataemissao >= '2011/08/01' and dl.dataemissao <= '2011/08/31'

and dti.sittributaria in ('04','06')

and dl.seriedoc in ('1','ECF') and dic.natrec is null

Atualizou apenas 196 registros. Ou seja como se a query buscasse apenas os idlaf (identificador do lanc. fiscal) sem o numitem que seriam os items do lançamento fiscal (totalizando 353 registros).

A forma como estou aplicando o update deve estar incorreta.

Se puderem dar uma força eu agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Roma,

Não vi nenhum "problema" na sintaxe do update. O que pode ser é o uso do "left join" no relacionamento entre "ditem" e "ditemcompl". Dê uma olhada se consegue forçar um relacionamento mais forte. As vezes fazer dois updates separando os campos de chave, e utilizar o inner join.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...