größten select wert?

Getting started ... Alles für einen gelungenen Start.

größten select wert?

Postby Leonidas2387 » Tue Nov 15, 2005 3:13 pm

Hallo Leute ich brauch mal wieder hilfe.

Ich hab in einer Datenbank-Tabelle einträge die durchnummeriert sind (sozusagen mit einem Zähler), jetzt brauch ich den "wert" mit dem größtem Zähler.

Select single * from xxx where zähler ???

wie muss ich es formulieren? Irgendwie steh ich da auf dem Schlauch

Danke + Gruss
Juli
Leonidas2387
..
..
 
Posts: 15
Joined: Thu Aug 11, 2005 2:31 pm

Postby Edin1867 » Tue Nov 15, 2005 3:28 pm

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SELECT max( zaehler ) FROM...
GeSHi ©
Edin1867
...
...
 
Posts: 406
Joined: Wed Dec 18, 2002 11:50 am

Postby Leonidas2387 » Tue Nov 15, 2005 4:00 pm

wenn ich aber als zähler Datum und uhrzeit (brauch größtes Datum und späteste Zeit) habe kann ich das nicht mit einem Befehl realisieren, oder.

SELECT max( datum uhrzeit ) FROM... ???
(hab kein system zur hand)
Leonidas2387
..
..
 
Posts: 15
Joined: Thu Aug 11, 2005 2:31 pm

Postby Valentin1455 » Tue Nov 15, 2005 4:27 pm

datum und uhrzeitfelder funktionieren auch. Allerdings kann der max glaube nur ein Feld dahinter haben. Muss man dann glaube über Subqueries hinbiegen:

SELECT * FROM table AS k INTO line WHERE
date = ( SELECT MAX( date ) FROM
table )
AND time = ( SELECT MAX( time ) FROM
table AS l WHERE k~date = l~date ).
ENDSELECT.

so funktioniert es glaub ich. Allerdings keine Garantie auf die Performance :)
Valentin1455
...
...
 
Posts: 178
Joined: Fri Apr 30, 2004 11:26 am

Re: größten select wert?

Postby Eveline3480 » Tue Aug 05, 2014 4:16 pm

Hallo zusammen
Diese Lösung klingt zwar super, kann ich meiner Meinung so aber nicht anwenden :-(

Ich möchte ebenfalls den neusten Eintrag aus der Tabelle CDHDR auslesen, wobei eine Belegnummer öfter vorkommen kann.
Beispiel
102001614030.07.201410:58:49
102001614005.08.201414:50:54

Nun möchte ich den Beleg 1020016140 welcher das jüngste Datum und Uhrzeit hat.

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SELECT * INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
  2.   UP TO 1 ROWS
  3.     FROM cdhdr
  4.     WHERE objectclas = 'VERKBELEG'
  5.       AND ( tcode    = 'VA41' OR tcode = 'VA42' )
  6.       AND udate     >= gv_datum
  7.       AND utime     >= gv_zeit
  8.     ORDER BY objectid udate utime DESCENDING.
GeSHi ©


Die Werte gv_datum und gv_zeit holt er aus einer Tabelle welche nach jedem Durchlauf meines Programmes mit dem aktuellen Tagesdatum und aktuelle Zeit aktualisiert wird. Daher muss ich die WHERE Bedingung so lassen. Er darf ja nur Belege holen die seit dem letzten Lauf des Programmes neu angelegt wurden.

Dieser Select schien mir des Problems Lösung - Fehlalarm :-( Er nimmt natürlich den Datensatz mit dem Datum 30.07....

Was mach ich falsch? Gibt es eine schlaue elegante Lösung?

Danke im Voraus und liebe Grüsse
nila
Eveline3480
..
..
 
Posts: 57
Joined: Tue Sep 23, 2008 8:10 pm

Re: größten select wert?

Postby Joeline5261 » Tue Aug 05, 2014 5:19 pm

Hallo,

Order by ...... ascending sollte passen.

Gruß
Wolfgang
Joeline5261
...
...
 
Posts: 387
Joined: Thu Aug 18, 2005 2:42 pm

Re: größten select wert?

Postby Eveline3480 » Wed Aug 06, 2014 6:46 am

Hallo wreichelt
Danke für deine Antwort.
Hab ich auch schon versucht. Gleiches Ergebnis.
Descending sollte eigentlich das gewünschte Ergebnis bringen - sollte... ;-) Drum steh ich auch an.
Vielleicht hab ich irgendwo ein übelregungsfehler. Ich forste weiter.
Gruss nila
Eveline3480
..
..
 
Posts: 57
Joined: Tue Sep 23, 2008 8:10 pm

Re: größten select wert?

Postby Eveline3480 » Wed Aug 06, 2014 8:31 am

Hab die Lösung gefunden.

Dieser Select funktioniert so wunderbar, ABER man sollte bei der ORDER BY auch die Schlüsselfelder der Tabelle berücksichtigen.
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SELECT * INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
  2.   UP TO 1 ROWS
  3.     FROM cdhdr
  4.     WHERE objectclas = 'VERKBELEG'
  5.       AND ( tcode    = 'VA41' OR tcode = 'VA42' )
  6.       AND udate     >= gv_datum
  7.       AND utime     >= gv_zeit
  8.     ORDER BY objectid [color=#0000FF]changenr[/color] DESCENDING.
GeSHi ©

Dann funktioniert es wunderbar wie gewünscht! :-)

Ansonsten werden die Kriterien welche ich ursprünglich angegeben habe (Datum und Zeit) von den Schlüsselfeldern übersteuert.

Liebe Grüsse
nila
Eveline3480
..
..
 
Posts: 57
Joined: Tue Sep 23, 2008 8:10 pm


Return to ABAP® für Anfänger

Who is online

Users browsing this forum: No registered users and 2 guests