-- select ok
select a.cod_situacao_tributaria, a. * from pir_itemsai_impostos a
inner join pir_itens_saidas b on a.cod_nf = b.cod_nf --Dessa tabela eu filtro o código do produto
inner join pir_saidas c on b.cod_nf = c.cod_nf --Dessa tabela seleciono a data de emissão
where b.cod_produto = '00120'
and c.dat_emissao between '01/01/2017'and'31/01/2017'
and a.cod_filial = '011'
and b.cod_empresa = '011'
and a.cod_imposto in ('PIS','CONFINS')
--update
update pir_itemsai_impostos a --Dessa tabela quero alterar a coluna CST
inner join pir_itens_saidas b on a.cod_nf = b.cod_nf --Dessa tabela eu filtro o código do produto
inner join pir_saidas c on b.cod_nf = c.cod_nf --Dessa tabela seleciono a data de emissão
set a.cod_situacao_tributaria = '06'
where b.cod_produto = '00120'
and c.dat_emissao between '01/01/2017'and'31/01/2017'
and a.cod_filial = '011'
and b.cod_empresa = '011'
and a.cod_imposto in ('PIS','CONFINS')
UPDATE COM JOINS
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Ter, 14 Fev 2017 9:02 pm
Prezados amigos, boa tarde! Preciso de uma ajuda, Uso o oracle aqui na empresa e precisamos fazer um update em uma coluna que tem filtro em outras tabelas, update com joins, eu fiz o select, mas o update com certeza o oracle não entende da forma que eu estou colocando abaixo, poderiam me ajudar? O cenário é, para o produto 00120 nos impostos PIS e COFINS foi imitido o código da situação tributária errado 01 na verdade deveria ser 06, ai antes de gerarmos o sped precisamos alterar conforme abaixo: Se puderem me falar a forma mais fácil de fazer isso, pois, meu conhecimento em sql é mínimo. Desde já fico agradecido aos amigos.
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
O ideal seria você utilizar a PK da tabela pir_itemsai_impostos para fazer o update.
Algo mais ou menos assim:
(digamos que a PK dessa tabela seja o campo ID_ITEM_IMPOSTO)
Como eu não sei quais são os campos da sua PK, eu não sei dizer precisamente como deve ficar o UPDATE.
Caso seja 2 campos ou mais, dá pra fazer assim:
Algo mais ou menos assim:
(digamos que a PK dessa tabela seja o campo ID_ITEM_IMPOSTO)
UPDATE pir_itemsai_impostos Y
SET Y.cod_situacao_tributaria = '06'
WHERE Y.ID_ITEM_IMPOSTO
IN (
select a.ID_ITEM_IMPOSTO
from pir_itemsai_impostos a
inner join pir_itens_saidas b on a.cod_nf = b.cod_nf --Dessa tabela eu filtro o código do produto
inner join pir_saidas c on b.cod_nf = c.cod_nf --Dessa tabela seleciono a data de emissão
where b.cod_produto = '00120'
and c.dat_emissao between '01/01/2017'and'31/01/2017'
and a.cod_filial = '011'
and b.cod_empresa = '011'
and a.cod_imposto in ('PIS','CONFINS')
)
Caso seja 2 campos ou mais, dá pra fazer assim:
UPDATE pir_itemsai_impostos Y
SET Y.cod_situacao_tributaria = '06'
WHERE (Y.CAMPOPK1, Y.CAMPOPK2)
IN (
select a.CAMPOPK1, a.CAMPOPK2
from pir_itemsai_impostos a
inner join pir_itens_saidas b on a.cod_nf = b.cod_nf --Dessa tabela eu filtro o código do produto
inner join pir_saidas c on b.cod_nf = c.cod_nf --Dessa tabela seleciono a data de emissão
where b.cod_produto = '00120'
and c.dat_emissao between '01/01/2017'and'31/01/2017'
and a.cod_filial = '011'
and b.cod_empresa = '011'
and a.cod_imposto in ('PIS','CONFINS')
)
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Google [Bot] e 11 visitantes