【问题标题】:SQL / how to update multiple values of 1 column in sql depending on her values and the values of another columnSQL /如何根据她的值和另一列的值更新sql中1列的多个值
【发布时间】:2018-09-15 08:16:15
【问题描述】:

如何根据她的值 (cl1) 和另一列 exp 的值更新列 exp : cl1 的值 : FL IN SQLSERVER?? 示例:

1- if cl1 = '15g0' then 20gs 
if cl1 = '22g0' then 22gs 
if cl1 = '14rx' then 14rs 

2- WHERE  FL = ' m31' OR FL= 'm28'

我用'case'试过了,但没用

update table 
set
cl1 = (case when cl1 = '15g0' then 20gs end ),
cl1 = (case when cl1 = '22g0' then 22gs end ),
cl1 = (case when cl1 = '11rx' then 14rs end )

where( FL like 'm31' ) or ( FL like 'm28') 

【问题讨论】:

  • 是t-SQL还是Mysql?

标签: mysql sql sql-server-2008 sql-update case


【解决方案1】:

Update cl1 在单个 case 语句中并在值周围添加单引号,如下所示:

UPDATE table 
SET cl1 = (CASE WHEN cl1 = '15g0' THEN '20gs'
                WHEN cl1 = '22g0' THEN '22gs'
                WHEN cl1 = '11rx' THEN '14rs' END)
WHERE ( FL LIKE 'm31' ) OR ( FL LIKE 'm28') 

【讨论】:

  • 欢迎! @Ouskiffprog
  • 对不起,当我的声望超过 15 时,我会更改分数;)
【解决方案2】:

在单个 case 语句中更新,还必须包含单引号

update table 
set
cl1 = case  when cl1 = '15g0' then '20gs' 
            when cl1 = '22g0' then '22gs' 
            when cl1 = '11rx' then '14rs' end 
where( FL = 'm31' ) or ( FL = 'm28')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2015-06-04
    • 2022-11-16
    • 2021-10-28
    相关资源
    最近更新 更多