Преобразуйте строку в json и используйте функцию json_each_text для транспонирования.Затем отфильтруйте, где значение равно '1'
, обратите внимание, что json_each_text преобразует значение в текст.
WITH mytable
(id, serv1, serv2, serv3, serv4, serv5, serv6)
AS (
VALUES
('001', 2,3,5,1,4,6),
('002', 2,1,5,3,4,6),
('003', 6,2,5,3,4,1)
)
SELECT id, tjs.key column_name
FROM mytable t, json_each_text(row_to_json(t)) tjs
WHERE tjs.value = '1'