2013-05-07 42 views
0

如何检查在SQL中使用if语句多个条件使用使用多个条件,如果在SQL语句中

在伪

If survey_field is 1 and emp_code_field = 1 and post_field = 1 THEN set chance to 10 
else if survey_field is 1 and emp_code_field = 1 THEN set chance to 5 
survey_field is 1 THEN set chance to 1 

我曾尝试以下,但我不能够使用多个条件。

Update employee 
SET chance = 
CASE survey 
WHEN 1 THEN 1 

END 

WHERE 1 
+1

哪个数据库是这样吗? mysql直接支持'if()'语句,而且大多数正常的sql数据库都会'case'。 – 2013-05-07 16:45:46

+0

删除PHP,因为它与此问题无关。 OP,添加你使用的数据库作为标签 - 我假设它是MySQL – raidenace 2013-05-07 16:46:39

回答

1

你可以尝试这样的..

UPDATE employee 
    SET chance = Case when 
    (survey_field=1) AND (emp_code_field = 1) AND (post_field = 1) THEN 10 
    ELSE 
    WHEN (survey_field =1) AND (emp_code_field = 1) THEN 5 
    ELSE 
    WHEN 
    survey_field = 1 THEN 1 
    END 
相关问题