rownum Problem

db_gustl

Benutzer
Beiträge
13
Hallo,

ich habe folgende Abfrage:

Code:
SELECT a.BE_IDENT, a.ERSTELLUNGS_DATUM_YMD AS WE_DATUM, COUNT(a.BE_IDENT) AS GEBINDE_ANZAHL, a.AUSGANGS_MENGE FROM EW_BE_EINZELGEBINDE a
  WHERE a.AUSGANGS_MENGE > 0 AND a.ERSTELLUNGS_DATUM_YMD > TO_CHAR(add_months(SYSDATE, -12), 'YYYY-MM-DD') AND a.BE_IDENT = 'A5E00165450'
  AND a.ERSTELLUNGS_DATUM_YMD = (SELECT MIN(ERSTELLUNGS_DATUM_YMD) FROM EW_BE_EINZELGEBINDE sub WHERE sub.WARENEINGANGS_NR = a.WARENEINGANGS_NR AND sub.BE_IDENT = a.BE_IDENT )
GROUP BY a.BE_IDENT, a.ERSTELLUNGS_DATUM_YMD, a.AUSGANGS_MENGE
ORDER BY a.ERSTELLUNGS_DATUM_YMD DESC
Diese ergibt folgendes Ergebnis:
Code:
WE_DATUM BE_IDENT GEBINDE_ANZAHL AUSGANGS_MENGE
2012-04-13 A5E00165450 1  2000
2012-04-13 A5E00165450 1  18000
2012-04-13 A5E00165450 9  20000
2011-07-15 A5E00165450 12 20000
2011-07-04 A5E00165450 4  20000
2011-07-01 A5E00165450 6  20000

Dann habe ich eine andere Tabelle die alle BE_IDENTs hat, und nun möchte ich das erste Ergebnis quasi numrow = 1 aus der obigen Tabelle in einer Tabelle haben mit allen BE_IDENTs.

Also habe ich es folgendermaßen probiert:
Code:
SELECT d.BE_IDENT, e.AUSGANGS_MENGE AS LAST_AUSGANGS_MENGE
  FROM EW_BE_EINZELGEBINDE d,
      (SELECT AUSGANGS_MENGE FROM (SELECT a.BE_IDENT, a.ERSTELLUNGS_DATUM_YMD AS WE_DATUM, COUNT(a.BE_IDENT) AS GEBINDE_ANZAHL, a.AUSGANGS_MENGE FROM EW_BE_EINZELGEBINDE a
      WHERE a.AUSGANGS_MENGE > 0 AND a.ERSTELLUNGS_DATUM_YMD > TO_CHAR(add_months(SYSDATE, -12), 'YYYY-MM-DD') AND [B]a.BE_IDENT = d.BE_IDENT[/B]
        AND a.ERSTELLUNGS_DATUM_YMD = (SELECT MIN(ERSTELLUNGS_DATUM_YMD) FROM EW_BE_EINZELGEBINDE sub WHERE sub.WARENEINGANGS_NR = a.WARENEINGANGS_NR AND sub.BE_IDENT = a.BE_IDENT )
                                        GROUP BY a.BE_IDENT, a.ERSTELLUNGS_DATUM_YMD, a.AUSGANGS_MENGE
                                        ORDER BY a.ERSTELLUNGS_DATUM_YMD DESC) c
      WHERE[B] rownum = 1[/B]) e
  WHERE d.AUSGANGS_MENGE > 0 AND d.ERSTELLUNGS_DATUM_YMD > TO_CHAR(add_months(SYSDATE, -12), 'YYYY-MM-DD')
  GROUP BY BE_IDENT

Da wird dann bei d.BE_IDENT gemeckert, was klar ist, da er ja d zu diesem Zeitpunkt noch nicht kennt!?

Weiß wer einen Lösungsansatz zu meinem Problem?
Wäre super, steh grad voll auf dem Schlauch...
Gruß
 
Werbung:
Zurück
Oben