subquery oder andere Lösung

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

subquery oder andere Lösung

Beitrag von meistercoach (ForumUser / 22 / 13 / 0 ) »
Hallo alle zusammen,

ich habe folgendes Problem.

In einer Tabelle habe ich diverse Kennzahlen, calyear und ein Merkmal Berechnungslauf. Zu einem Kalenderjahr existieren mehrere Berechnungslaufes.

Ich benötige alle Kennzahlen zu dem letzten Kalenderjahr und dem höchsten Berechnungslauf.

Mit nachfolgendem SQL-Statement kann ich den Wert letztes calyear und größten Wert des Bererchnungslaufes ermitteln.

Code: Alles auswählen.

  SELECT DISTINCT
     
    calyear
    max( Berechnungslauf ) as Berechnungslauf

  from Tabelle_a
  where calyear =
  ( SELECT max( calyear ) from Tabelle_a )
  GROUP BY
    calyear.

Muss ich mir das Ergebnis in eine interne Tabelle schreiben und dann über for all entries erenut die Tabelle abfragen?
Also ist nachfolgendes die beste Lösung?

Code: Alles auswählen.

  SELECT DISTINCT
     
    calyear
    max( Berechnungslauf ) as Berechnungslauf

  INTO CORRESPONDING FIELDS OF TABLE LT_zeit
  from Tabelle_a
  WHERE calyear =
  ( SELECT MAX( calyear ) FROM Tabelle_a )
  GROUP BY
  calyear.

.
  SELECT DISTINCT
     
  *

  INTO CORRESPONDING FIELDS OF TABLE lt_tmp
  FROM Tabelle_a
  FOR ALL ENTRIES IN LT_ZEIT
  WHERE calyear = LT_ZEIT-calyear
  AND Berechnungslauf = LT_ZEIT-Berechnungslauf.


gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: subquery oder andere Lösung

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
meistercoach hat geschrieben:Muss ich mir das Ergebnis in eine interne Tabelle schreiben und dann über for all entries erenut die Tabelle abfragen?
Man kann SubSelects auch schachteln:

Code: Alles auswählen.

SELECT *
  INTO itab
  FROM tabelle_a
  WHERE calyear = ( SELECT MAX( calyear ) FROM tabelle_a ) 
    AND berechnungslauf = ( SELECT MAX( berechungslauf ) 
                                  FROM tabelle_a 
                                  WHERE calyear = ( SELECT MAX( calyear ) 
                                                    FROM tabelle_a ) ).
Für die Ermittlung des MAX( berechnungslauf) benötigst du das MAX( calyear ). Dieses kannst du per SubSelect im SubSelect ermitteln.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
meistercoach

Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2539
Views
Subquery mit Name?
von Bajdu » 14.08.2006 09:54 • Verfasst in ABAP® für Anfänger
9
Antw.
4619
Views
Frage zu Subquery
von Spookykid » 06.07.2011 11:22 • Verfasst in ABAP® für Anfänger
13
Antw.
4378
Views
Subquery gesucht
von Thomas R. » 10.12.2015 09:49 • Verfasst in ABAP® Core
2
Antw.
1334
Views
Subquery in dynamischer Where-Bedingung
von Stefan7777 » 22.11.2005 10:36 • Verfasst in ABAP® Core
1
Antw.
654
Views
Datenbank Delete mit Subquery
von JohnLocklay » 28.05.2019 14:47 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Mahnung erstellen
vor 11 Minuten von wreichelt 2 / 10
Absprung VA02 Position
vor 2 Stunden von gs3rr4 3 / 27
OPD Druck im SPOOL
vor 3 Stunden von Manfred K. 1 / 14
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1804

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Mahnung erstellen
vor 11 Minuten von wreichelt 2 / 10
Absprung VA02 Position
vor 2 Stunden von gs3rr4 3 / 27
OPD Druck im SPOOL
vor 3 Stunden von Manfred K. 1 / 14
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1804

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 3 Stunden von Manfred K. 1 / 14
Export von Spools in XLSX
vor 5 Tagen von abapamateur 1 / 388
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 992
MS-Word als Editor
letzen Monat von tekko 1 / 4490