Preciso de ajuda, alguém que entenda de SQL, estou tentando rodar o Update

SQL

Firebird

09/03/2021

update produtopreco p
set p.preco = p.preco + 25
where p.codprod = (select codprod from produtocaracteristica
where produtocaracteristica.codprod = p.codprod
and produtocaracteristica.codcaracteristica = '000000005'
and p.preco >= 79 and p.preco <= 99.99
and p.codpreco = '000000007')

multiple rows in singleton select.
multiple rows in singleton select.


Alguém pode me ajudar?
Alan Melo

Alan Melo

Curtidas 1

Melhor post

Emerson Nascimento

Emerson Nascimento

09/03/2021

tente assim:
update p set p.preco = p.preco + 25
from
  produtopreco p
inner join
  produtocaracteristica pc on pc.codprod = p.codprod
  and pc.codcaracteristica = '000000005'
where
  p.preco between 79 and 99.99
  and p.codpreco = '000000007'

ou assim:
update produtopreco set preco = preco + 25
where preco between 79 and 99.99 and codpreco = '000000007'
and codprod in (select codprod from produtocaracteristica where codcaracteristica = '000000005')



GOSTEI 1

Mais Respostas

Alan Melo

Alan Melo

09/03/2021

tente assim:
update p set p.preco = p.preco + 25
from
  produtopreco p
inner join
  produtocaracteristica pc on pc.codprod = p.codprod
  and pc.codcaracteristica = '000000005'
where
  p.preco between 79 and 99.99
  and p.codpreco = '000000007'

ou assim:
update produtopreco set preco = preco + 25
where preco between 79 and 99.99 and codpreco = '000000007'
and codprod in (select codprod from produtocaracteristica where codcaracteristica = '000000005')





Emerson, muito obrigado pela ajuda!

Rodou

update produtopreco set preco = preco + 25
where preco between 79 and 99.99 and codpreco = '000000007'
and codprod in (select codprod from produtocaracteristica where codcaracteristica = '000000005')

eu até havia esquecido do between.

novamente, obrigado!
GOSTEI 0
POSTAR