Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
遍历mysql子查询结果_Mysql_Sql - Fatal编程技术网

遍历mysql子查询结果

遍历mysql子查询结果,mysql,sql,Mysql,Sql,我有一个产品表,它有一个名为model的列和一个名为price的列 我想写一个查询,用一个常量乘数更新具有特定条件的每一行的价格。我不知道如何循环子查询并更新所有符合条件的行。 大概是这样的: UPDATE products for each product.name is like 'ITNC%' begin loop SET price:= @newRatio * (select products.pinnumber from products where product.nam

我有一个产品表,它有一个名为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

你可以用这样的东西

UPDATE products
SET price = @newRatio * pinnumber
WHERE name LIKE 'ITNC%'

SQL是一种基于集合的语言。您不会循环每一行进行更新。\n所以在sql中不可能使用行的列值更新行吗?Post表结构、示例输入、预期输出。读这个。XD…………添加您问题的更新。感谢您的及时回复,ITNC产品系列中每一行的编号都不同。所以,当我使用select时,它会带来多行,并抛出一个sql错误,指示子查询结果中有多行。pinnumber已绑定到该特定行。@sedra每行的pinnumber将不同,具体取决于该行中pinnumber的值。SQL是一种基于集合的语言。这是我缺乏的观点!它内部隐藏了内置的迭代。谢谢,我想我需要做另一个选择来收集所需的pinnumbers。我不知道何时在更新时应用条件,我已经有了所需的集合,我可以抓取我想要的列并使用它更新另一列。新手