цикл по результату подзапроса mysql

0

У меня есть таблица продуктов, в которой есть столбец с именем model и столбец с именем price.

Я хочу написать запрос, который обновляет цену для каждой строки с определенным условием постоянным множителем. Я не знаю, как пройти через подзапрос и обновить все строки, соответствующие критериям. что-то вроде этого:

UPDATE products 
for each product.name is like 'ITNC%'
begin loop    
SET price:= @newRatio * (select products.pinnumber from products where  product.name is like 'ITNC%')    
end   loop
  • 0
    SQL - это язык на основе множеств. Вы не зацикливаете каждую строку для обновления. \
  • 0
    так разве нельзя в sql обновить строку, используя значения ее столбцов?
Показать ещё 3 комментария
Теги:

1 ответ

0
Лучший ответ

Вы делаете это с чем-то подобным.

UPDATE products
SET price = @newRatio * pinnumber
WHERE name LIKE 'ITNC%'
  • 0
    спасибо за быстрый ответ, пинн-номер отличается для каждой строки в семействе продуктов ITNC. поэтому, когда я использую select, он приносит несколько строк и выдает ошибку sql, указывающую на наличие нескольких строк в результате подзапроса. пиннум привязан к этой конкретной строке.
  • 0
    @sedra Пиннум будет отличаться для каждой строки, в зависимости от значения пиннум в этой строке.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню