Кажется, вы хотите получить значения из таблицы B для столбцов, соответствующих каждому measure_name
Если да, вы используете UNNEST()
, чтобы преобразовать таблицу B в строки и затем объединить ее сТаблица A.
with c AS
( SELECT
unnest(array['col1', 'col2', 'col3']) AS colname,
unnest(array[col1, col2, col3]) AS value
FROM B
)
SELECT a.*,c.value FROM A
JOIN C ON a.measure_name = c.colname;
Это дает вам
Section measure_name value
A col1 5
B col2 50
C col3 90
Демо