使用SQL查询按列将值添加到特定行

时间:2019-07-04 18:05:55

标签: sql

我在表格中添加了一个新列,即国家。现在,我想将国家/地区添加到特定的行,例如productID为104、106、107的行。我使用的查询错误。请帮忙!

update products
    set country in ("usa","uk","India")
    where productID in ("104","106", "107");

2 个答案:

答案 0 :(得分:0)

我认为这是您想要的逻辑:

update products
    set country = (case when productID = 104 then 'usa'
                        when productID = 106 then 'uk'
                        when productID = 107 then 'india'
                   end)
    where productID in (104, 106, 107);

注意:请勿将"用作常量。将单引号用于字符串和日期常量。不要对数字使用定界符。

答案 1 :(得分:0)

您可以使用CASE

update products
set country =  
      CASE product_id  WHEN 104 THEN 'usa' when 106 THEN 'uk' WHEN 107 THEN 'india' END
where productID in ('104','106', '107');