Hallo!
> >SELECT TOP 1 * FROM tabelle ORDER BY RAND(id * DATEPART(ms,
> GETDATE())).
> >(Achtung, �berlauf ist bei gro�en Werten f�r [id] m�glich)
> leider wird in diesem Fall auch immer der gleiche Datensatz
> angezeigt, immer
> der erste..
Bei mir werden da immer unterschiedliche Datens�tze angezeigt. Die
Millisekunden und der Identifier sorgen f�r eine entsprechende Streuung.
M�glicherweise ist die Datenmenge so klein, dass selbst Millisekunden nichts
n�tzen. Dann m�sstest Du einen langsameren Rechner nehmen. ;-)
> >Eine Datenbank darf halt keine zuf�lligen Ergebnisse liefern. ;-)
> stimmt ebenfalls, wie kann ich das anderweitig l�sen immer
> einen anderen
> Tipp des tages auf
> der Website anzuzeigen??
Das w�rde ich anders gestalten: Als "Tipp des Tages" h�tte ich gerne immer
den neuesten Tipp, sofern er nicht in den letzten 7, 14 oder 30 Tagen
angezeigt wurde, also so etwas wie
DECLARE @Tipp INTEGER
SELECT TOP 1 @Tipp = id
FROM Tipps
WHERE dateShown = GETDATE() OR
DATEDIFF(d, dateShown, GETDATE()) > 7
ORDER BY dateCreated DESC
UPDATE Tipps
SET dateShown = GETDATE()
WHERE id = @Tipp
SELECT *
FROM Tipps
WHERE id = @Tipp
Na ja, mit einem IF EXISTS kann man das noch etwas eleganter machen.
Freundliche Gr��e
Joachim van de Bruck
_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp