Я не вижу другого способа сделать это, кроме как вручную суммировать каждый столбец.Вот несколько краткий способ сделать это:
SELECT
empId,
IF(COALESCE(col1, '') = '', 1, 0) +
IF(COALESCE(col2, '') = '', 1, 0) +
...
IF(COALESCE(colN, '') = '', 1, 0) AS num_cols_missing
FROM yourTable;
Мы можем заменить значения NULL
столбцов пустой строкой, а затем сравнить этот результат с пустой строкой.Это означает, что мы можем проверить как NULL
, так и пустое с помощью одного логического выражения.