Javascript 如何运行唯一函数来计算和替换数据库中的空值?

Javascript 如何运行唯一函数来计算和替换数据库中的空值?,javascript,php,sql,sql-update,case,Javascript,Php,Sql,Sql Update,Case,在上面的数据库中,我想使用其他3个变量计算“A2”的值。前提是每一列对于每个变量都有一个特定的分数,在这种情况下,javascript会将答案加在一行中,在A2插槽中为空 SELECT Name, A1, IFNULL(A2, $f), A3, A4 FROM demo; 您可以通过几个大小写表达式在SQL中实现相同的逻辑: select name, a1, coalesce(a2, case when ( case when a1 = '

在上面的数据库中,我想使用其他3个变量计算“A2”的值。前提是每一列对于每个变量都有一个特定的分数,在这种情况下,javascript会将答案加在一行中,在A2插槽中为空

SELECT Name, A1, IFNULL(A2, $f), A3, A4
FROM demo;

您可以通过几个
大小写
表达式在SQL中实现相同的逻辑:

select name, a1,
    coalesce(a2, 
        case when (
              case when a1 = 'M' then 10 else 0 end
            + case when a3 = 'R' then 10 else 0 end
            + case when a4 = 'S' then 20 else 0 end
        ) <= 20 then 'T' else 'V' end
    ) a2,
    a3,
    a4
from demo

您可以在SQL中使用两个
case
表达式实现相同的逻辑:

select name, a1,
    coalesce(a2, 
        case when (
              case when a1 = 'M' then 10 else 0 end
            + case when a3 = 'R' then 10 else 0 end
            + case when a4 = 'S' then 20 else 0 end
        ) <= 20 then 'T' else 'V' end
    ) a2,
    a3,
    a4
from demo
update demo
set a2 = 
    case when (
          case when a1 = 'M' then 10 else 0 end
        + case when a3 = 'R' then 10 else 0 end
        + case when a4 = 'S' then 20 else 0 end
    ) <= 20 then 'T' else 'V' end
where a2 is null