SQL работа с условием подсчета столбцов

#sql

#sql

Вопрос:

У меня есть 20 столбцов x1-x20. Для каждой строки я хочу подсчитать, сколько столбцов имеют значение>50. Это своего рода обработка массива, но я не знаю, как это сделать в SQL. Не могли бы вы помочь? Спасибо, HHC

Комментарии:

1. Пожалуйста, предоставьте примерные данные и желаемые результаты, а также соответствующий тег базы данных.

Ответ №1:

Вне решения, включающего программирование хранимой процедуры, вам просто нужно вывести список каждого столбца, используя условия обращения, как показано ниже:

 select 
case when x1 > 50 then 1 else 0 end  
case when x2 > 50 then 1 else 0 end  
case when x3 > 50 then 1 else 0 end  
case when x4 > 50 then 1 else 0 end  
...
case when x20 > 50 then 1 else 0 end as cols_gt_50
from t
  

В простых SQL-операторах нет способа (насколько я знаю), чтобы вы могли обрабатывать имена столбцов как массив.