Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Inner Join(Giving duplicate entries) - SAP HANA AMDP

Former Member
0 Kudos

The below query is giving duplicate entry when INNER JOIN used with CEPCT  , where there exist only 1 entry against profit-center.

et_actual =

SELECT r.prctr AS prctr, r.racct AS racct, r.actual AS actual, r.plan AS plan, s.ltext AS ltext, r.segment AS segment

                    FROM (

                        SELECT prctr AS prctr, racct AS racct,

                                SUM( ( CASE when iv_rpamxl <= 1 AND iv_rpmaxh >= 1 THEN hsl01 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 2 AND iv_rpmaxh >= 2 THEN hsl02 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 3 AND iv_rpmaxh >= 3 THEN hsl03 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 4 AND iv_rpmaxh >= 4 THEN hsl04 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 5 AND iv_rpmaxh >= 5 THEN hsl05 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 6 AND iv_rpmaxh >= 6 THEN hsl06 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 7 AND iv_rpmaxh >= 7 THEN hsl07 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 8 AND iv_rpmaxh >= 8 THEN hsl08 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 9 AND iv_rpmaxh >= 9 THEN hsl09 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 10 AND iv_rpmaxh >= 10 THEN hsl10 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 11 AND iv_rpmaxh >= 11 THEN hsl11 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 12 AND iv_rpmaxh >= 12 THEN hsl12 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 13 AND iv_rpmaxh >= 13 THEN hsl13 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 14 AND iv_rpmaxh >= 14 THEN hsl14 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 15 AND iv_rpmaxh >= 15 THEN hsl15 ELSE 0 end ) +

                                     ( CASE when iv_rpamxl <= 16 AND iv_rpmaxh >= 16 THEN hsl16 ELSE 0 end ) ) AS actual,

                                  0 AS plan,

                                  segment AS segment

                            FROM faglflext

                            WHERE ryear = iv_ryear

                              AND rldnr = iv_rldnr

                              AND rrcty = '0'

                              AND rvers = '001'

                              AND rbukrs = 'IN10'

                              AND racct = '0052550001'

                              AND prctr = 'IN1010106F'

                              AND kokrs = iv_kokrs

                            GROUP BY prctr, racct, segment

                         ) AS r

                         INNER JOIN cepct AS s

                    ON r.prctr = s.prctr

                    WHERE s.spras = iv_langu

                      AND s.kokrs = iv_kokrs

                    ORDER BY r.prctr, r.racct DESC ;

1 ACCEPTED SOLUTION

lbreddemann
Active Contributor

You might want to include the MANDT columns into the join condition.

- Lars

1 REPLY 1

lbreddemann
Active Contributor

You might want to include the MANDT columns into the join condition.

- Lars