У меня проблемы с использованием оператора jsonb '-' в сложной структуре json. Мне нужно удалить несколько полей из json, каждое из которых имеет определенные c условия, которые необходимо заполнить, чтобы они появились, что-то вроде этого.
SELECT json_build_object(
'MainA', (SELECT now())
, 'MainB', ARRAY(
SELECT json_build_object(
'JsonA', 'SOMETHNIG HERE'
, 'JsonB', 'SOMETHING HERE ONLY IF subp.code != 'S/P', OTHERWISE JsonB should not exist (not even be null)'
, 'JsonC', 'SOMETHING HERE ONLY IF JsonA == '123', OTHERWISE JsonC should not exist (not even be null)'
, 'JsonD', 'SOMETHING HERE ONLY IF JsonA == '234' OTHERWISE JsonD should not exist (not even be null)'
, 'JsonE', 'SOMETHING HERE ONLY IF JsonD exists and is TRUE OTHERWISE should not exists (not even be null)'
) FROM subproducts subp INNER JOIN products p ON p.id_product = subp.id_product WHERE p.active_product = true AND subp.active = true
)::TEXT root FROM company_info c
Я пытался добавить оператор '-' и работал над его добавлением до части запроса FROM , но я не могу добавить туда условия CASE.
Кто-нибудь может мне помочь?