如果声明并选择一行

时间:2018-12-11 19:34:33

标签: mysql if-statement view sql-update

使用MYSQL。

尝试编写IF语句。

表名称:Erreur 列名称:公司,ID,已发布,类型,Erreur_type等

select * from erreur
where Erreur_type IS NOT NULL
IF Erreur_type = 1 Then SET Published = NULL
ELSE Erreur_type = 2 Then SET Type = 'Ordinaire'
ELSE Erreur_type = 3 Then SET TYPE = 'Extraordinaire'
END IF;

我的问题是,我需要: -要选择一行,还是可以在多个行上同时使用此代码?

1 个答案:

答案 0 :(得分:1)

如果您只想选择结果,则

select 
     IF (Erreur_type = 1 , NULL,'your_else') as publised 
    , case when Erreur_type = 2 then 'Ordinaire'
            when  Erreur_type = 3 then  'Extraordinaire' 
    end AS Type
from erreur
where Erreur_type IS NOT NULL

否则,如果要更改db中的值,请使用use update并设置

update  erreur
set publised = case when  Erreur_type = 1 THEN null else  publised end, 
    Erreur_type = case when Erreur_type = 2 then 'Ordinaire'
                when  Erreur_type = 3 then  'Extraordinaire' 
        end 
where Erreur_type IS NOT NULL