微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复Postgres 12.3错误:在CASE中不允许使用set-turning函数

如何解决如何修复Postgres 12.3错误:在CASE中不允许使用set-turning函数

我刚刚将Postgresql从9.5更新到了12.3,现在我从特定的查询中收到此错误消息:

() => void

我已经在查询中指出了错误的位置。

查询1:

ERROR: set-returning functions are not allowed in CASE

查询2:

select attribute_id,attribute_input_type,string_agg(attr_value,','),false,attribute_predefined_value,attribute_lgd_location_type
from (select distinct
             B.attribute_id,B.attribute_input_type,CASE WHEN B.attribute_input_type in ('lgdHierarchy','lgdDepartment')
                  THEN A.attr_value
                  ELSE case when B.attribute_input_type in ('checkBox','listBox')
/* error is here -> */      THEN Split_part(unnest(string_to_array(A.attr_value,')),'~',1)
                            else Split_part(A.attr_value,1)
                       end
             END attr_value,B.attribute_predefined_value,B.attribute_lgd_location_type
      from (select json_data.key :: integer attribute_id,json_data.value as attr_value
            from sp_custom.application_processing_json a,json_each_text(a.initiated_data->'application_form_attributes') AS json_data
            where a.application_id = 1162
           ) A,temp_output_attr_list ot,schm_sp.appl_attribute_mast B
      where A.attribute_id = ot.primary_attribute_id
        and ot.find_flag = false
        and A.attribute_id = B.attribute_id
        and B.attribute_input_type <> 'fieldset'
     ) X
group by attribute_id,attribute_lgd_location_type;

这两个查询都从JSON获取数据。

两个查询在Postgrsql9.5中都可以正常工作,但是Upgrade Postgresql12.3显示错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。