Firebird (update com subselect e where)
Boa tarde, pessoal!
Estou tentando fazer um update de um campo na tabela vendas com dados de outra tabela chamada chave, porém preciso usar um condicional com os dados de um campo da tabela chave. Consegui com o código abaixo mas está alterando todos os registros da tabela vendas
update vendas v
set
v.data = (select
c.data
from chave c
where
(c.cupom = v.cupom))
A tabela chave tem um campo chamado status só quero alterar a data na tabela vendas quando o status em chave for diferente de 'autorizada'
Estou tentando fazer um update de um campo na tabela vendas com dados de outra tabela chamada chave, porém preciso usar um condicional com os dados de um campo da tabela chave. Consegui com o código abaixo mas está alterando todos os registros da tabela vendas
update vendas v
set
v.data = (select
c.data
from chave c
where
(c.cupom = v.cupom))
A tabela chave tem um campo chamado status só quero alterar a data na tabela vendas quando o status em chave for diferente de 'autorizada'
Daniel Santos
Curtidas 0
Respostas
Emerson Nascimento
06/08/2021
tente algo assim:
update vendas v set
v.data = (select c.data from chave c where c.cupom = v.cupom and c.status = 'x')
where
exists(select c.data from chave c where c.cupom = v.cupom and c.status = 'x')
GOSTEI 0