Här är ett sätt:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL behandlar booleaner som heltal, där sant är 1
och false är 0
. Du kan bara lägga till dem för att få summan.
Som en uppdatering:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Som en notering, MySQL stöder inte ISNULL()
. Det är mer en SQL Server-funktion. Men det är inte ANSI-standard i alla fall, så du är vanligtvis bättre av att använda coalesce()
.