Я хочу прокручивать каждый столбец и увеличивать счетчик, если значение не равно NULL для любого столбца. Так что, если есть три столбца из 7 строк со значениями, не равными нулю, значение счетчика должно быть равно 3.Петля через столбцы PSQL
0
A
ответ
0
Петли медленные, если вы можете их избежать. Если вы знаете имена столбцов, вы можете сделать что-то вроде этого:
UPDATE table SET counter =
CASE WHEN colA IS NULL THEN 0 ELSE 1 END +
CASE WHEN colB IS NULL THEN 0 ELSE 1 END +
CASE WHEN colC IS NULL THEN 0 ELSE 1 END +
CASE WHEN colD IS NULL THEN 0 ELSE 1 END +
CASE WHEN colE IS NULL THEN 0 ELSE 1 END +
CASE WHEN colG IS NULL THEN 0 ELSE 1 END +
CASE WHEN colF IS NULL THEN 0 ELSE 1 END;
+0
Спасибо @MattyB! Он отлично работает! – user4655509
+0
Great @ user4655509! Пожалуйста, примите ответ, если вы сочтете это полезным! – MattyB
Добро пожаловать в StackOverflow! Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask –