Использование кросс-таблицы и добавление нового значения в столбец в postgresql
У меня есть функция (sae_rel_data()), которая возвращает результат, подобный показанному на рисунке. Я пытаюсь вернуть результат в виде таблицы event_crf_id, описание, значение, CBID. Поэтому мне нужно будет определить значение CBID и назначить это значение всем другим строкам, имеющим тот же evet_crf_id в другом столбце с именем CBID.
Например, CBID= 60051 имеет event_crf_id=444
event_crf_id; description; value; CBID
444; "CBID"; "60051"; "60051"
444; "Month"; "09"; "60051"
444; "Day"; "27"; "60051"
444; "Year"; "2016"; "60051"
...
Как это можно сделать? Я использую postgresql
1 ответ
Я смог получить желаемый результат, используя разбивку своего кода и сохраняя его части в функции, а затем применяя внутреннее соединение
SELECT cbid, description, value FROM (
SELECT test.event_crf_id, description, test.value, id_table.cbi FROM sae_rel_data() test
INNER JOIN (SELECT event_crf_id, value as cbid FROM sae_rel_data() where description='CBID') id_table
ON id_table.event_crf_id=test.event_crf_id )relevant