无法为json_array_elements

时间:2019-05-23 19:09:53

标签: json postgresql

我正在尝试从json更新字段,我要做的就是将json中的值从FALSE更改为TRUE,下面是我的选择查询:

select * from (select id, entity_id, json_array_elements(custom_field_values.custom_field_data::json) ->> 'name' as namename, json_array_elements(custom_field_values.custom_field_data::json) ->> 'value' as value1 from custom_field_values where entity_name='YYY' and entity_id in (select id from campaigns where target_condition like '%XXX%')) a where namename in ('AAA','BBB');

id实体ID名称名称值 6330 123268 BusinessmanPaysCashback FALSE 6330 123268商家PaysCommissionFALSE 6333 123269商人付款现金返还FALSE 6333 123269 BusinessmanPaysCommission FALSE

我正在尝试将最后一个值字段更改为true。

select * from(选择id,entity_id,json_array_elements(custom_field_values.custom_field_data :: json)->>'name'作为namename,json_array_elements(custom_field_values.custom_field_data :: json)->>'value'作为custom_field_values中的value1实体名称=“ YYY”和实体ID(从目标条件为“%XXX%”的广告系列中选择ID),名称名称在('AAA','BBB')中;

id实体ID名称名称值 6330 123268 BusinessmanPaysCashback FALSE 6330 123268商家PaysCommissionFALSE 6333 123269商人付款现金返还FALSE 6333 123269 BusinessmanPaysCommission FALSE

我正在尝试将最后一个值字段更改为true。

到目前为止,我在该更新上进行了几次失败的尝试。

更新custom_field_values 设置json_array_elements(custom_field_values.custom_field_data :: json)->>'value'='TRUE' 其中json_array_elements(custom_field_values.custom_field_data :: json)->>'value'='FALSE'和 (json_array_elements(custom_field_values.custom_field_data :: json)->>('AAA','BBB')中的'name'和 entity_name ='YYY'和 实体编号(在[target_condition如'%XXX%'的广告系列中选择编号)

更新custom_field_values 设置value1 ='TRUE' 其中(从(选择id,entity_id,json_array_elements(custom_field_values.custom_field_data :: json)中选择value1->将'name'作为namename,将json_array_elements(custom_field_values.custom_field_data :: json)->>'value'作为从custom_field_values中的value1 ='YYY'和in_entity_id(从目标条件为'%XXX%'的广告系列中选择ID),其中名称为('AAA','BBB')),value1 ='FALSE';

谢谢

select * from(选择id,entity_id,json_array_elements(custom_field_values.custom_field_data :: json)->>'name'作为namename,json_array_elements(custom_field_values.custom_field_data :: json)->>'value'作为custom_field_values中的value1实体名称=“ YYY”和实体ID(从目标条件为“%XXX%”的广告系列中选择ID),名称名称在('AAA','BBB')中;

更新custom_field_values 设置json_array_elements(custom_field_values.custom_field_data :: json)->>'value'='TRUE' 其中json_array_elements(custom_field_values.custom_field_data :: json)->>'value'='FALSE'和 (json_array_elements(custom_field_values.custom_field_data :: json)->>('AAA','BBB')中的'name'和 entity_name ='YYY'和 实体编号(在[target_condition如'%XXX%'的广告系列中选择编号)

更新custom_field_values 设置value1 ='TRUE' 其中(从(选择id,entity_id,json_array_elements(custom_field_values.custom_field_data :: json)中选择value1->将'name'作为namename,将json_array_elements(custom_field_values.custom_field_data :: json)->>'value'作为从custom_field_values中的value1 ='YYY'和in_entity_id(从目标条件为'%XXX%'的广告系列中选择ID),其中名称为('AAA','BBB')),value1 ='FALSE';

谢谢

我需要将值FALSE更新为TRUE

0 个答案:

没有答案