Skip to Content
0
Former Member
Dec 16, 2015 at 10:30 PM

Duplicate rows in this inner join

5745 Views

Hi abapers.I have huge problem with my report.

Some rows appears duplicated.

The tables contains :


NFAL alwas has 1 row
nbew > 2 (more or less row )

ncir > 2 (more or less row )

nlea > 2 (more or less row )

I have this JOIN:
Someone know how to improve this select statament to remove the duplicate rows?

SELECT
       fal~einri fal~falnr
       fal~falar fal~patnr fal~abrkz fal~erdat fal~erusr fal~updat fal~upusr fal~storn fal~stdat fal~fatyp
        bew~bewty bew~bwart bew~bwidt bew~orgfa bew~orgpf bew~bwgr1 bew~bwgr2
        cir~lfdnr cir~kostr cir~patkz cir~rangf
        lei~falnr lei~orgid lei~leist lei~lnrls lei~anfoe lei~erboe lei~preis lei~stals lei~imeng lei~taras lei~anpoe
    INTO CORRESPONDING FIELDS OF TABLE ti_alv
    FROM nfal AS fal
   INNER JOIN nbew AS bew ON fal~falnr = bew~falnr " AND fal~einri = bew~einri
   INNER JOIN ncir AS cir ON bew~falnr = cir~falnr
   INNER JOIN nlei AS lei ON cir~falnr = lei~falnr
   WHERE  fal~einri IN p_einri AND
          fal~falnr IN p_falnr AND
          fal~erdat IN p_erdat AND
          fal~storn IN p_storn
          %_HINTS ORACLE 'INDEX("NFAL" "NFAL~Z2")'
          .
    IF sy-subrc <> 0.
       MESSAGE 'No se han encontrado datos en la consulta' TYPE 'E'.
    ELSE.

Note: ADJACENT DUPLICATES is not an option.