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 / 1197 / 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.
2467
Views
Subquery mit Name?
von Bajdu » 14.08.2006 09:54 • Verfasst in ABAP® für Anfänger
9
Antw.
4511
Views
Frage zu Subquery
von Spookykid » 06.07.2011 11:22 • Verfasst in ABAP® für Anfänger
13
Antw.
4253
Views
Subquery gesucht
von Thomas R. » 10.12.2015 09:49 • Verfasst in ABAP® Core
2
Antw.
1281
Views
Subquery in dynamischer Where-Bedingung
von Stefan7777 » 22.11.2005 10:36 • Verfasst in ABAP® Core
1
Antw.
591
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

Trennen Strasse und Hausnummer
vor 5 Minuten von ralf.wenzel 16 / 10759
Dialog-Container mit Toolbar/Status
vor 12 Minuten von black_adept gelöst 25 / 3896
User Exit EXIT_RQCPRM10_001
vor 21 Stunden von a-dead-trousers 2 / 352
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1405

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

Trennen Strasse und Hausnummer
vor 5 Minuten von ralf.wenzel 16 / 10759
Dialog-Container mit Toolbar/Status
vor 12 Minuten von black_adept gelöst 25 / 3896
User Exit EXIT_RQCPRM10_001
vor 21 Stunden von a-dead-trousers 2 / 352
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1405

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2934
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9528