title image


Smiley Re: Den nten Datensatz selektieren
Ja, mein DBMS läßt Subselects zu, sofern man diese gesondert abspeichert.



Interessante Variante. Was für ein DBMS ist es denn?



Der Subselect, "SubSec" genannt, würde so aussehen (sofern man den 5. Datensatz selektieren möchte):



SELECT TOP 5 TAB.*

FROM TAB

ORDER BY Feld1 ASC;



Der eigentliche Select scheint mir so auszusehen:



SELECT TOP 1 TAB.* FROM TAB

ORDER BY Feld1 DESC

WHERE TAB.Feld1 = SubSec;



Und da liegt der Fehler. Dein eigentlicher SELECT sollte nämlich den Subselect als Quelltabelle nutzen:

SELECT TOP 1 SubSec.* FROM SubSec

ORDER BY Feld1 DESC;



Wenn man die ersten n (hier 5)Datensätze im Subselect nach Feld1 ASC sortiert, hat man doch den gewünschten Datensatz zu oberst (und nicht zu unterst). An den kommt man doch im Hauptselect mit TOP 1.



Wenn ich den 5. Datensatz haben will, dann selektiere ich zuerst mal die ersten 5 (hier ASCending):

1

2

3

4

5



Dann drehe ich das Ganze um (DESCending) und schneide nach dem ersten Satz ab:

5

---------

4

3

2

1



Damit habe ich genau Satz 5 ermittelt.



OT:Schachnovelle



Deutschsprachige Autoren - meine Schwäche. Da habe ich wenige gelesen...





diu vive floreque.
Spockus

erreicht am 04.03.2008 09:47:23

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: