Hallo!

> So, jetzt hab ich die Fehlerbehandlung ausgeschalten und es
funktioniert
> vorl�ufig wunderbar.
> Ich mach jetzt auch Wochenende und w�nsch Euch ein sch�nes.

Jutta hat recht: "SELECT TOP 3 ... FROM ... WHERE ... ORDER BY ..."
liefert nicht unbedingt genau 3 Datens�tze. Es liefert weniger als 3
Datens�tze, wenn weniger der Bedingung "WHERE ..." entsprichen und es
liefert mehr als 3 Datens�tze wenn aufgrund von "WHERE ... ORDER BY ..."
die drei nicht eindeutig bestimmt werden k�nnen. Das tritt dann auf,
wenn das Sortierkriterium nicht eindeutig ist. Mein Vorschlag:

SELECT   TOP 3 * 
FROM     Banners
WHERE    ist < soll
ORDER BY (soll - ist) DESC, id

Es werden grunds�tzlich nur Banner selektiert, bei denen die Zahl der
Views (das hei�t heute "page impressions" bzw. "pi" ;-) ) kleiner ist
als die Zahl der gew�nschten Views (WHERE ist < soll). Die Banner werden
dann nach der Differenz aus Ist und Soll absteigend sortiert (ORDER BY
(soll - ist) DESC). Wenn nun mehr als 3 Datens�tze die gleiche Differenz
aufweisen, k�nnen nicht eindeutig genau 3 Datens�tze selektiert werden.
Deshlab liefern Access und SQL Server (und andere) dann auch mehr als 3
Datens�tze und genau deshlab nimmt man dann z. B. noch die "id" in die
ORDER-BY-Klausel: Damit k�nnen aufgrund der Sortierung immer genau 3
Datens�tze eindeutig selektiert werden.

Bei 9 Bannern kann man so etwas auch problemlos mit den ASP-Komponenten
"Ad Rotator", "Content Rotator" und "Counter" machen. Die Objekte werden
einmal in der global.asa definiert und man hat dann lediglich 2
Methodenaufrufe f�r den Counter und f�r den Rotator. Die
Steuerungsdateien kann man in einer <textarea> sehr einfach editieren.

Freundliche Gr��e
Joachim van de Bruck



| [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