嵌套在线视图中添加列

时间:2017-07-12 20:35:56

标签: sql oracle

我必须在此报告中添加一列 - 新列名称为:uda_value_desc

如果输入PM_ITEM编号,下面的代码会给我一个结果,我需要将代码插入其中一个在线视图中。

任何帮助将不胜感激

WITH item_temp AS (SELECT im.item

                                ,uv.uda_value_desc uda_value_desc -----

                                FROM item_master im

                                    ,TABLE(mff_report.parse_strings(:PM_item)) t
                                    , uda_item_lov uil
                                    , uda_values uv


                                WHERE t.Column_Value = uil.item
                                and    uil.UDA_ID = 511
                                and uv.uda_id = uil.uda_id
                                and uv.uda_value = uil.uda_value
                                and im.item = uil.item 

                               UNION ALL
                              SELECT im.item
                              ,null
                                FROM item_master im
                                    ,TABLE(mff_report.parse_strings(:PM_item)) t
                               WHERE t.COLUMN_VALUE = im.item_parent
                                 AND im.item_level = im.tran_level
                               UNION ALL
                              SELECT sd.item
                              ,null
                                FROM skulist_detail sd
                                    ,TABLE(mff_report.parse_strings(:PM_item_list)) t
                               WHERE t.COLUMN_VALUE = sd.skulist
                               UNION ALL
                              SELECT ia.item
                              ,null
                                FROM mffecom.item_attr ia
                                    ,TABLE(mff_report.parse_strings(:PM_product_id)) t
                               WHERE t.COLUMN_VALUE = ia.product_id
                               UNION ALL
                              SELECT im.item
                                      ,null
                                FROM item_master im
                               WHERE :PM_item IS NULL
                                 AND :PM_item_list IS NULL
                                 AND :PM_product_id IS NULL )


                              SELECT v_item.item_parent
                              ,uda_value_desc
                                    ,v_item.item
                                    ,mff_report.mff_merch_sql.get_brand_name(v_item.item) brand_name
                                    ,v_item.item_desc
                                    ,v_selling.product_id
                                    ,v_product.product_web_desc
                                    ,v_product.product_template
                                    ,v_product.romance_copy
                                    ,v_selling.selling_point_1
                                    ,v_selling.selling_point_2
                                    ,v_selling.selling_point_3
                                    ,v_selling.selling_point_4
                                    ,v_selling.selling_point_5
                                    ,v_selling.selling_point_6
                                    ,v_selling.selling_point_7
                                    ,v_selling.selling_point_8
                                    ,v_selling.selling_point_9
                                    ,v_selling.selling_point_10
                                    ,v_selling.selling_point_11
                                    ,v_selling.selling_point_12
                                    ,v_selling.selling_point_13
                                    ,v_selling.selling_point_14
                                    ,v_selling.selling_point_15
                                    ,v_selling.selling_point_16
                                    ,v_item.vpn
                                    ,v_item.diff_1
                                    ,v_item.diff1_desc
                                    ,v_item.diff_2
                                    ,v_item.diff2_desc
                                    ,v_item.diff_3
                                    ,v_item.diff3_desc
                                    ,v_item.diff_4
                                    ,v_item.diff4_desc
                                    ,v_item.supplier
                                    ,v_item.sup_name
                                    ,v_product.code_desc fulfillment_method_desc
                                    ,v_product.air_ship_restrict
                                    ,v_product.do_not_freeze
                                    ,v_product.free_shipping
                                    ,v_product.refrigerate
                                    ,v_product.serial_reqd
                                    ,v_product.vaccination
                                    ,v_product.is_consumable
                                    ,v_product.zero_weight
                                    ,v_product.restrict_state
                                    ,v_product.no_of_alt_image
                                    ,v_product.product_status
                                    ,v_product.item_ecom_status
                                    ,TO_CHAR(v_product.deactivate_date, 'MM/DD/YYYY') product_deactivate_date
                                    ,TO_CHAR(v_product.product_activate_date, 'MM/DD/YYYY') product_activate_date
                                    ,TO_CHAR(v_product.item_activate_date, 'MM/DD/YYYY') item_activate_date
                                    ,TO_CHAR(v_product.item_deactivate_date, 'MM/DD/YYYY') item_deactivate_date
                                    ,v_product.prod_created_by
                                    ,TO_CHAR(v_product.prod_created_date, 'MM/DD/YYYY') prod_created_date
                                    ,v_product.prod_updated_by
                                    ,v_product.item_created_by
                                    ,TO_CHAR(v_product.item_created_date, 'MM/DD/YYYY') item_created_date
                                    ,v_product.item_updated_by
                                    ,v_item.delete_type purge
                                    ,v_item.dept
                                    ,v_item.class
                                    ,v_item.subclass
                                    ,mff_orders_sql.buyer_for_item(v_item.item) buyer
                                    ,mff_orders_sql.buyer_name_for_item(v_item.item) buyer_name
                                    ,v_item.soh
                                    ,v_item.length
                                    ,v_item.width
                                    ,v_item.height
                                    ,v_item.weight
                                    ,v_variant.variant_id1
                                    ,v_variant.value_id1
                                    ,v_variant.variant_id2
                                    ,v_variant.value_id2
                                    ,v_variant.variant_id3
                                    ,v_variant.value_id3
                                    ,v_variant.variant_id4
                                    ,v_variant.value_id4
                                    ,v_variant.variant_id5
                                    ,v_variant.value_id5
                                    ,v_variant.variant_id6
                                    ,v_variant.value_id6
                                FROM (SELECT ia.item
                                            ,v_sell.product_id
                                            ,MIN(DECODE(row_num,1,selling_point)) selling_point_1
                                            ,MIN(DECODE(row_num,2,selling_point)) selling_point_2
                                            ,MIN(DECODE(row_num,3,selling_point)) selling_point_3
                                            ,MIN(DECODE(row_num,4,selling_point)) selling_point_4
                                            ,MIN(DECODE(row_num,5,selling_point)) selling_point_5
                                            ,MIN(DECODE(row_num,6,selling_point)) selling_point_6
                                            ,MIN(DECODE(row_num,7,selling_point)) selling_point_7
                                            ,MIN(DECODE(row_num,8,selling_point)) selling_point_8
                                            ,MIN(DECODE(row_num,9,selling_point)) selling_point_9
                                            ,MIN(DECODE(row_num,10,selling_point)) selling_point_10
                                            ,MIN(DECODE(row_num,11,selling_point)) selling_point_11
                                            ,MIN(DECODE(row_num,12,selling_point)) selling_point_12
                                            ,MIN(DECODE(row_num,13,selling_point)) selling_point_13
                                            ,MIN(DECODE(row_num,14,selling_point)) selling_point_14
                                            ,MIN(DECODE(row_num,15,selling_point)) selling_point_15
                                            ,MIN(DECODE(row_num,16,selling_point)) selling_point_16
                                        FROM mffecom.item_attr ia
                                            ,(SELECT sp.product_id
                                                    ,row_number () OVER (PARTITION BY sp.product_id ORDER BY sp.selling_point_id) row_num
                                                    ,sp.selling_point
                                                FROM mffecom.selling_point sp

                                               ORDER BY sp.product_id
                                                    ,sp.selling_point) v_sell
                                       WHERE ia.product_id = v_sell.product_id                                           
                                       GROUP BY ia.item
                                            ,v_sell.product_id) v_selling
                                    ,(SELECT NVL(im.item_parent,im.item) item_parent

                                            ,im.item
                                            ,im.item_desc
                                            ,im.dept
                                            ,im.class
                                            ,im.subclass
                                            ,isupp.supplier
                                            ,s.sup_name
                                            ,isupp.vpn
                                            ,miim.stock_on_hand soh
                                            ,iscd.length
                                            ,iscd.width
                                            ,iscd.height
                                            ,iscd.weight
                                            ,im.diff_1
                                            ,di.diff_desc diff1_desc
                                            ,im.diff_2
                                            ,di2.diff_desc diff2_desc
                                            ,im.diff_3
                                            ,di3.diff_desc diff3_desc
                                            ,im.diff_4
                                            ,di4.diff_desc diff4_desc
                                            ,dp.delete_type
                                        FROM item_supplier isupp
                                            ,sups s
                                            ,item_supp_country_dim iscd
                                            ,item_master im


                                            ,diff_ids di
                                            ,diff_ids di2
                                            ,diff_ids di3
                                            ,diff_ids di4
                                            ,daily_purge dp
                                            ,merch_item_inv_mv miim
                                       WHERE isupp.item = im.item



                                         AND isupp.item = miim.item (+)
                                         AND isupp.supplier = s.supplier
                                         AND isupp.item = iscd.item
                                         AND isupp.supplier = iscd.supplier
                                         AND isupp.primary_supp_ind = 'Y'
                                         AND iscd.dim_object = 'EA'
                                         AND im.item_level = im.tran_level
                                         AND im.sellable_ind = 'Y'
                                         AND im.diff_1 = di.diff_id (+)
                                         AND im.diff_2 = di2.diff_id (+)
                                         AND im.diff_3 = di3.diff_id (+)
                                         AND im.diff_4 = di4.diff_id (+)
                                         AND im.item = dp.key_value (+)) v_item
                                    ,(SELECT ia.item

                                            ,pm.product_id
                                            ,pm.product_web_desc
                                            ,pm.template product_template
                                            ,pm.romance_copy
                                            ,ia.air_ship_restrict
                                            ,ia.do_not_freeze
                                            ,ia.free_shipping
                                            ,ia.refrigerate
                                            ,ia.serial_reqd
                                            ,ia.vaccination
                                            ,ia.is_consumable
                                            ,ia.zero_weight
                                            ,pm.no_of_alt_image
                                            ,pm.status product_status
                                            ,ia.status item_ecom_status
                                            ,pm.deactivate_date deactivate_date
                                            ,pm.activate_date product_activate_date
                                            ,ia.activate_date item_activate_date
                                            ,ia.deactivate_date item_deactivate_date
                                            ,pm.created_by prod_created_by
                                            ,pm.create_datetime prod_created_date
                                            ,pm.updated_by prod_updated_by
                                            ,ita.created_by item_created_by
                                            ,ita.create_date item_created_date
                                            ,ia.updated_by item_updated_by
                                            ,str.restrict_state
                                            ,cd.code_desc
                                        FROM MFFECOM.product_master pm
                                            ,MFFECOM.item_attr ia
                                            ,MFFECOM.ship_to_restrict str
                                            ,rms13.mff_brand mb
                                            ,rms13.item_attributes ita
                                                ,rms13.code_detail cd
                                       WHERE ia.product_id = pm.product_id
                                         AND ia.item = str.item (+)
                                         AND ia.item = ita.item (+)
                                         AND pm.brand_id = mb.brand_id (+)
                                         AND to_char(ia.fulfillment_method) = cd.code
                                         AND cd.code_type = 'EIFM') v_product
                                    ,(SELECT item
                                            ,product_id
                                            ,MIN(DECODE(row_num,1,variant_id)) variant_id1
                                            ,MIN(DECODE(row_num,1,value_id)) value_id1
                                            ,MIN(DECODE(row_num,2,variant_id)) variant_id2
                                            ,MIN(DECODE(row_num,2,value_id)) value_id2
                                            ,MIN(DECODE(row_num,3,variant_id)) variant_id3
                                            ,MIN(DECODE(row_num,3,value_id)) value_id3
                                            ,MIN(DECODE(row_num,4,variant_id)) variant_id4
                                            ,MIN(DECODE(row_num,4,value_id)) value_id4
                                            ,MIN(DECODE(row_num,5,variant_id)) variant_id5
                                            ,MIN(DECODE(row_num,5,value_id)) value_id5
                                            ,MIN(DECODE(row_num,6,variant_id)) variant_id6
                                            ,MIN(DECODE(row_num,6,value_id)) value_id6
                                        FROM (SELECT item
                                                    ,product_id
                                                    ,row_number () OVER (PARTITION BY item ORDER BY variant_id) row_num
                                                    ,variant_id
                                                    ,value_id
                                                FROM mffecom.item_variant)
                                       GROUP BY item
                                            ,product_id) v_variant
                                    ,item_temp it
                               WHERE v_item.item = v_selling.item (+)
                                 AND v_item.item = v_product.item (+)
                                 AND v_item.item = v_variant.item (+)
                                 AND v_item.item = it.item                                  
                                 AND v_item.supplier = NVL(:PM_supplier,v_item.supplier)
                                 AND (v_product.prod_created_by = :PM_prod_created_by OR :PM_prod_created_by IS NULL)
                                 AND (v_product.item_created_by = :PM_item_created_by OR :PM_item_created_by IS NULL)
                                 AND (v_product.prod_created_date BETWEEN :prod_created_date_start AND :prod_created_date_to OR :prod_created_date_start IS NULL)
                                 AND (v_product.item_created_date BETWEEN :item_created_date_start AND :item_created_date_to OR :item_created_date_start IS NULL)
                               ORDER BY v_product.product_id

0 个答案:

没有答案