使用目标列表上的值列表进行SQL更新

时间:2012-10-25 11:28:31

标签: sql set sql-update

我想使用值列表更新项目列表,例如:

$fruits = "apple,banana,orange";
$prices = "10,15,20";
$sql = "UPDATE stuff SET fruit =?? ($fruits) where price in ($prices)

我知道“更新x设置a = b其中c(d)”部分有效,但我不知道它我可以使用项目列表作为b的值

1 个答案:

答案 0 :(得分:1)

您可以使用CASE表达式:

UPDATE x
SET a = CASE c
           WHEN 'c1' THEN 'b1'
           WHEN 'c2' THEN 'b2'
           ...
        END
WHERE c in ('c1', 'c2', ...)