[PostgreSQL]: у подзапроса слишком много столбцов - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь выполнить запрос, но в результате отображается сообщение об ошибке «В подзапросе слишком много столбцов». Я должен изменить, где предложение с массивом в строку, но ошибка та же. Не могли бы вы помочь мне, если у вас есть какие-либо предложения или другие вопросы, как изменить, чтобы решить эту проблему?

запрос:

create table my_schema.table_1 as select a.*
            , O.ID1
            , J.ID2
            , K.ID3
            , L.ID4
            , M.ID5
            , S.ID6
            , O.plan_name plan_name1
            , J.plan_name plan_name2
            , K.plan_name plan_name3
            , L.plan_name plan_name4
            , M.plan_name plan_name5
            , S.plan_name plan_name6
            from (
            select
                  PRD_ID
                , NBR
                , SI
                , START_TIME
                , ATTR4
                , G_ID
                , BYTE_UP
                , BYTE_DOWN
                , LIST
                , TYPE_ID1
                , TYPE_ID2
                , TYPE_ID3
                , TYPE_ID4
                , TYPE_ID5
                , TYPE_ID6
                , CHARGE1, CHARGE2, CHARGE3, CHARGE4, CHARGE5, CHARGE6
            from my_schema.source where prd_id = '20200101'
            and TYPE IN (3) ) a
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) O on split_part(split_part(list,';',1),',',1) = O.id 
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) J on split_part(split_part(list,';',2),',',1) = J.id 
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) K on split_part(split_part(list,';',3),',',1) = K.id 
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) L on split_part(split_part(list,';',4),',',1) = L.id 
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) M on split_part(split_part(list,';',5),',',1) = M.id 
            left outer join (select distinct id, price_plan_name from my_schema.id_ref_v9) S on split_part(split_part(list,';',6),',',1) = S.id
            WHERE (
            O.id in (select * from my_schema.LIST_PRICEID4)or
            J.id in (select * from my_schema.LIST_PRICEID4)or
            K.id in (select * from my_schema.LIST_PRICEID4)or
            L.id in (select * from my_schema.LIST_PRICEID4)or
            M.id in (select * from my_schema.LIST_PRICEID4)or
            S.id in (select * my_schema.LIST_PRICEID4))
...