hach, ja.
wie schade. da w�rd ich das projekt ja doch viel lieber mit mysql l�sen.
geht aber auch net. schadeschade.
es sind keine 100.000 records aber so 10.000 schon, und der server ist eh
nich der schnellste.

aber die records sind schon eindeutig!
es handelt sich nur um eine 20-stellige zufallszahl als ID.
was wird denn zuerst abgearbeitet im SELECT und wie bekomme ich sowas
zusammen?
(das ist n�mlich etwas, womit mysql ein problem hat)

SELECT TOP 10 * FROM table WHERE dat > 'blah' AND gruppe = 'blah' ORDER BY
dat
(select....)

andererseits hat dieses beispiel zu folge, dass die ersten 10 ausgew�hlt
werden und dann davon nochmal die ersten 5 oder?

ich w�rde gern die ersten 10 ausw�hlen, und dann die restlichen xxx-10
eintr�ge betrachten und darauf ein select ausf�hren.
eine idee, wie ich des syntaktisch mit tmpTables machen soll?
vielleicht sollte ich auch langsam mal schluss machen, damit das hirn wieder
schneller wird...

.dirk

-----Urspr�ngliche Nachricht-----
Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]]
Gesendet: Donnerstag, 23. Mai 2002 21:16
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] RE: AW: RE: sql - limit MSsqlserver2000


Meinst Du sowas?

select top 5 * from tabelle where id in
(select top 10 id from tabelle)

Ja das ist m�glich, aber wenn Du damit versuchen willst ein limit
nachzubauen, geht das nur, wenn die Daten eindeutig sind(siehe anderer
Thread)....

Ansonsten kannst Du auch Dein Ergebnis in eine tempor�re Tabelle f�llen,
die zus�tzlich eine eindeutige ID hat und somit dem ersten Ansatz
zug�nglich ist....

Ansonsten bleibt Dir auch immer noch ein serverside Cursor mut den
ADO-Paging-M�glichkeiten(Pagesize, AbsolutePage, PageCount) zu nutzen...

Claudius

> -----Original Message-----
> From: Dirk Hildebrandt [mailto:[EMAIL PROTECTED]]
> Sent: Donnerstag, 23. Mai 2002 20:57
> To: ASP Datenbankprogrammierung
> Subject: [aspdedatabase] AW: RE: sql - limit MSsqlserver2000
>
>
> danke f�r die schnellen reaktionen.
> idee ist angekommen, aber nicht m�glich, da kein permanent
> aufsteigender
> wert exisitert und nicht implementierbar ist.
>
> ist es m�glich, die selectanweisung zu schachteln?
> das heisst, das was nach dem TOP noch �brigbleibt als zweite
> ausgangssituation der daten zu nutzen?
>
> gr�sse
> dirk
>
> -----Urspr�ngliche Nachricht-----
> Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]]
> Gesendet: Donnerstag, 23. Mai 2002 20:23
> An: ASP Datenbankprogrammierung
> Betreff: [aspdedatabase] RE: sql - limit MSsqlserver2000
>
>
> Das hast Du richtig verstanden top x gibt nur die ersten x aus....
> Paging kannst Du beim mssqlserver am performantesten implementieren,
> wenn Du ein (am besten: int-)feld hast, nach dem Du sortieren
> kannst...
> Es muss nicht mal l�ckenlos sein...
> Dann kannst Du sowas machen:
>
> Select top 10 * from tabelle order by feld where feld>100
>
> Wenn obiges die aktuelle Page ist, dann muss es f�r die Seite davor so
> heissen:
> Select top 10 * from tabelle order by feld where feld<100
>
> Und f�r die n�chste Seite:
> Select top 10 * from tabelle order by feld where feld>*maxfeld*
> ..wobei *maxfeld* der inhalt von feld der letzen reihe in der
> aktuellen
> seite..
>
> Dabei muss man aufpassen in welche Richtung man bl�ttert... Danach
> richtet sich es, ob man < oder > benutzt...
>
> Hoffe, ich habe mich klar genug ausgedr�ckt...
>
> Gruss,
>
> Claudius
>
> >
> > hallo liste!
> >
> > ich habe bisher gern mit mysql gearbeitet und ben�tigte
> dort oft eine
> > funktion, die den ergebnisbereich datenbankseitig begrenzt.
> > das ist fix und
> > belastet den server scripttechnisch wenig.
> > SELECT * FROM tabelle WHERE a = b ORDER BY c LIMIT 50,10
> > (gibt 10 datens�tze ab nr 50 aus)
> >
> > leider fehlt mir eine entsprechende funktion in der syntax
> > des mssqlservers.
> > die l�sung �ber den datenzeiger des recordsets ist recht
> aufw�ndig zu
> > schreiben, zumal das sql-statement auch per �bergabeparameter
> > dynamisch
> > erzeugt werden kann und damit sehr einfach bl�tterbare
> > ergebnislisten zu
> > erzeugen sind.
> >
> > wer hat einen tip, wie sich der sql-server diesbez�glich
> > ansprechen l�sst?
> > die TOP variante hab ich entweder falsch verstanden, oder ich
> > kann immer
> > tats�chlich nur die jeweils ersten recordsets avisieren.
> >
> > gr�sse und dank
> >
> > dirk
> >
> >
> > | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> > | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> > | Sie k�nnen sich unter folgender URL an- und abmelden:
> > |
> http://www.aspgerman.com/aspgerman/listen/anme> lden/aspdedatabase.asp
> >
>
>
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
>
>
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
>


| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an