Получение имени столбца, который имеет конкретное значение для конкретной строки

Структура таблицы и пример данных:

test=# \d+ test1
                                Table "public.test1"
 Column |         Type          | Modifiers | Storage  | Stats target | Description 
--------+-----------------------+-----------+----------+--------------+-------------
 a      | character varying(10) |           | extended |              | 
 b      | character varying(10) |           | extended |              | 
 c      | character varying(10) |           | extended |              | 
 d      | character varying(10) |           | extended |              | 
 e      | character varying(10) |           | extended |              | 
 date   | character varying(10) |           | extended |              | 

test=# select * from test1 ;
 a | b | c | d | e | date 
---+---+---+---+---+------
 3 | 1 | 3 | 2 | 3 | 124
 3 | 3 | 2 | 2 | 1 | 125
 1 | 2 | 2 | 1 | 3 | 126
 1 | 2 | 3 | 2 | 3 | 127
 1 | 1 | 2 | 2 | 3 | 123
(5 rows)

Желаемый результат: имя столбца (a,b,c,d или e), которое имеет значение "1" на любую конкретную дату (например, дата будет "123", тогда результат должен быть "a", "b"). Как я могу получить это в коде Голанга и postgresql.

Примечание. Это только примерные данные, есть n номеров столбцов a,b,c,....,a1,a2.... и так далее.

0 ответов

Другие вопросы по тегам