ABAP-SQL Frage

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

ABAP-SQL Frage

Beitrag von DaHipster (ForumUser / 2 / 0 / 0 ) »
Ich möchte diese Abfrage ausführen:
SELECT name, MAX(wert) AS maxwert
FROM test
GROUP BY name
HAVING maxwert <= 5
ORDER BY wert;

ABAP meckert, dass das Feld maxwert unbekannt sei - wie schwach ist das denn? Sieht für mich nach 100% standard aus. :?

Weiss jemand, wie man´s formulieren muss, damit sogar ABAP damit umgehen kann?

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


Beitrag von Gast ( / / 0 / 3 ) »
Vielleicht: SELECT name MAX( wert ) AS maxwert FROM test

:roll:

Re: ABAP-SQL Frage

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
DaHipster hat geschrieben:Ich möchte diese Abfrage ausführen:
SELECT name, MAX(wert) AS maxwert
FROM test
GROUP BY name
HAVING maxwert <= 5
ORDER BY wert;

ABAP meckert, dass das Feld maxwert unbekannt sei - wie schwach ist das denn? Sieht für mich nach 100% standard aus. :?

Weiss jemand, wie man´s formulieren muss, damit sogar ABAP damit umgehen kann?

Code: Alles auswählen.

SELECT name MAX( wert ) AS maxwert
       FROM test 
       INTO ... " (feld1, feld2) | [CORRESPONDING FIELDS OF] wa | TABLE itab
*      alternativ APPENDING ...
       GROUP BY name
       HAVING MAX( wert ) <= 5
       ORDER BY maxwert.
* je nach Option bei INTO fehlt dann noch ein ENDSELECT nach Verarbeitung der Daten

Beitrag von DaHipster (ForumUser / 2 / 0 / 0 ) »
Granatengute Idee, im HAVING nochmal zu aggregieren. Damit hat´s dann auch geklappt.

Danke! :D

Beitrag von Gast ( / / 0 / 3 ) »
Bist Du Dir sicher, dass der Fehler daran lag/liegt :roll:

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hallo allerseits,

ich habe eine ähnliches Problem:

ich suche die Differenz (difku) mit dem höchsten Ladedatum (lddat),
um eine kumulierte Differenz fortzuschreiben.

da ich es mit dem obigem Beispiel nicht hinbekomme, teile ich Z.Zt
die Selektion auf :

Code: Alles auswählen.

    SELECT max( lddat ) FROM  ZSUM CLIENT SPECIFIED
              into hvdat
           WHERE  MANDT  = sy-mandt
           AND    BUKRS  = sumtab-bukrs
           AND    LDDAT  lt sumtab-lddat
           AND    GVORF  = sumtab-gvorf.

    SELECT single difku FROM  ZSUM CLIENT SPECIFIED
              into wa-difku
           WHERE  MANDT  = sy-mandt
           AND    BUKRS  = sumtab-bukrs
           AND    LDDAT  = hvdat
           AND    GVORF  = sumtab-gvorf.
gibt es eine Möglichkeit dies mit einem select-Statement hinzubekommen ?
es muß ein Einzelsatzzugriff sein, da nur ein Satz Pro Bukrs/Lddat/Gvorf existiert (i.e. kein Select-endselect statement):!:


Gruß Andreas

Beitrag von Gast ( / / 0 / 3 ) »
Möglicherweise habe ich die Aufgabenstellung nicht verstanden aber
warum nicht eine subquery?

Code: Alles auswählen.

  select difku from zsum into wa_difku
          where bukrs = sumtab-bukrs 
             and gvorf = sumtab-gvirf
             and lddat =  select max( lddat ) from zsum 
                                 where bukrs = sumtab-bukrs 
                                   and  gvorf = sumtab-gvorf. 

 
Ich glaube bei der Subqury fehlen noch ein paar Klammern...da musst Du Dir nochmals die Syntax genauer anschauen.
client specified kannst Du Dir übrigens sparen, wenn Du mit sy-mandt darauf zugreifst - diese where bed. ist implizit immer vorhanden.

Deine Bemerkung mit dem Einzelsatz lesen habe ich auch nicht verstanden - wenn nur ein Eintrag da ist liest auch select-endselect nur einer (oder man kann es mit up to 1 rows einschränken).
Ich vermute, der select wird in eienr Schleife über eine interne Tabelle sumtab aufgerufen. Möglicherweise würde es sich anbieten ein Select into table durchzuführen mit group by bukrs gvorf. Array fetches sind performanter als Einzelsatzzugriffe.

Trotz allen Unklarheiten - hoffe ich, dass Dir das etwas weiterhilft
Christian

Seite 1 von 1

Vergleichbare Themen

9
Antw.
3709
Views
ABAP-Anfaenger Frage
von Anfaenger » 01.02.2005 07:03 • Verfasst in ABAP® für Anfänger
1
Antw.
2392
Views
Allgemeine Frage zu JAVA und SAP(ABAP)
von abap-strizi » 29.11.2005 10:50 • Verfasst in Java & SAP®
2
Antw.
1629
Views
Ernsthafte Frage - zu ABAP Typen
von SWAN » 01.07.2008 18:53 • Verfasst in ABAP® für Anfänger
15
Antw.
7528
Views
Frage zu ABAP Object und Funktionsbausteine
von Mark33 » 21.08.2012 23:42 • Verfasst in ABAP Objects®
5
Antw.
9997
Views
Kundeneigene ABAP-Muster Vorlage im ABAP-Editor anlegen
von Stentor » 19.07.2005 11:10 • Verfasst in Basis

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111