I am facing

*Error: ERROR 502 (42702): Column reference ambiguous or duplicate names.
columnName=EARNINGS*

*SQLState:  42702*

*ErrorCode: 502*


while running below query.



select SUM (TOTAL_PAYMENTS)
from (   select   P_1.AGENT_ID
                ,PAYMENTS
                ,case when P_1.PAYMENTS < 10000 then 10000 - P_1.PAYMENTS
else 0 end DRAWS
                ,case when P_1.PAYMENTS > 10000 then P_1.PAYMENTS else
10000 end TOTAL_PAYMENTS
        from    (   select   COMPS.AGENT_ID
                            ,COMPS.TOTAL_EARNINGS +
COALESCE(ADJ.ADJUSTMENT, 0) as PAYMENTS
                    from    (   select   COMPS_1.AGENT_ID
                                        ,SUM(COMPS_1.COMP_WEIGHT *
COMPS_1.EARNINGS / 100) as TOTAL_EARNINGS
                                from    (   select AGENT_ID, EARNINGS, 70
as COMP_WEIGHT
                                            from (   select   C1_2.AGENT_ID

,COALESCE(SUM(C1_2.EARNINGS), 0) as EARNINGS
                                                    from    ( select
C1_1.AGENT_ID

,C1_1.TERRITORY_ID

,C1_1.PRODUCT_ID

,C1_1.EARNINGS_PERCENT

,LK.RESULT_VALUE as EARNINGS
                                                              from    (
select   M1.AGENT_ID

  ,M1.TERRITORY_ID

  ,M1.PRODUCT_ID

  ,(M1.METRIC * 100) / TG.SALES_TARGET as EARNINGS_PERCENT
                                                                      from
   ( select   T.AGENT_ID

              ,T.TERRITORY_ID

              ,T.PRODUCT_ID

              ,SUM(T.TOTAL_SALES - T.TOTAL_EXPENSES) as METRIC

      from    TRANSACTIONS T

      group by T.AGENT_ID, T.TERRITORY_ID, T.PRODUCT_ID

    ) M1

  left join PRODUCT_TERR_TARGETS TG on M1.TERRITORY_ID = TG.TERRITORY_ID

                                   and M1.PRODUCT_ID = TG.PRODUCT_ID
                                                                    ) C1_1
                                                                      left
join PRODUCT_EARNINGS_LOOKUP LK on C1_1.PRODUCT_ID = LK.PRODUCT_ID

                             and C1_1.EARNINGS_PERCENT >= LK.LOWER_VALUE

                             and C1_1.EARNINGS_PERCENT <
COALESCE(LK.UPPER_VALUE, 1e38)
                                                            ) C1_2
                                                    group by C1_2.AGENT_ID
                                                ) C1

                                            union all
                                            select AGENT_ID, EARNINGS, 20
as COMP_WEIGHT
                                            from (   select   C2_1.AGENT_ID

,COALESCE(SUM(C2_1.EARNINGS), 0) as EARNINGS
                                                    from    ( select
M2.AGENT_ID

,M2.PRODUCT_ID

,M2.METRIC * PCC.COMM_VALUE as EARNINGS
                                                              from    (
select   T.AGENT_ID

      ,T.PRODUCT_ID

      ,SUM(T.UNIT_CNT_SOLD) as METRIC

from    TRANSACTIONS T

group by T.AGENT_ID, T.PRODUCT_ID
                                                                        ) M2
                                                                      left
join PRODUCTS P on M2.PRODUCT_ID = P.P_ID
                                                                      left
join PRODUCT_CATEGORY_COMMISSIONS PCC on P.P_CATEGORY = PCC.PRODUCT_CATEGORY
                                                            ) C2_1
                                                    group by C2_1.AGENT_ID
                                                ) C2

                                            union all
                                            select AGENT_ID, EARNINGS, 10
as COMP_WEIGHT
                                            from (   select   AGENT_ID

,COALESCE(EARNINGS, 0) as EARNINGS
                                                    from    ( select
M3.AGENT_ID

,LK.RESULT_VALUE as EARNINGS
                                                              from    (
select   T.AGENT_ID

      ,COUNT(T.PRODUCT_ID) as METRIC

from    TRANSACTIONS T

group by T.AGENT_ID
                                                                        ) M3
                                                                      left
join AGENTS A on M3.AGENT_ID = A.A_ID
                                                                      left
join ROLE_DEAL_COUNT_LOOKUP LK on A.A_ROLE = LK.AGENT_ROLE

                              and M3.METRIC >= LK.LOWER_VALUE

                              and M3.METRIC < COALESCE(LK.UPPER_VALUE, 1e38)
                                                            ) C3_1
                                                ) C3
                                        ) COMPS_1
                                group by COMPS_1.AGENT_ID
                            ) COMPS
                            left join AGENT_PAY_ADJUSTMENTS ADJ on
COMPS.AGENT_ID = ADJ.AGENT_ID
                ) P_1
    ) P;



PS:

There is below stackoverflow thread -
http://stackoverflow.com/questions/34450534/column-reference-ambiguous-or-duplicate-names-on-apache-phoenix-when-using-ali
 also that is unanswered.
-- 

*With Best Regards,*

*       Mohd Adnan*

*       Feature Development Lead*

*       Optymyze Inc*
       *Mobile               +91-7498194516 *


*       Blog                   adnanfaizan.blogspot.in
<http://adnanfaizan.blogspot.in>*

Reply via email to