SQL / как обновить несколько значений одного столбца в sql в зависимости от ее значений и значений другого столбца

0

Как обновить значения столбца exp: cl1 в зависимости от ее значений (cl1) и значений другого столбца exp: 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') 
  • 1
    это T-SQL или Mysql?
Теги:
sql-server-2008
sql-update
case

2 ответа

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

Update cl1 в отдельном case и добавьте одинарные кавычки вокруг значений, как Update cl1 ниже:

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') 
  • 0
    почему внизу ??
  • 0
    спасибо, работало просто отлично
Показать ещё 2 комментария
1

Обновление в одном 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')

Ещё вопросы

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