Ecco un modo:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL tratta i booleani come numeri interi, dove true è 1
e false essendo 0
. Puoi semplicemente sommarli per ottenere il totale.
Come aggiornamento:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Come nota, MySQL non supporta ISNULL()
. Questa è più una funzione di SQL Server. Ma non è comunque lo standard ANSI, quindi di solito è meglio usare coalesce()
.