Nombre aléatoire sur SQL sans l'aide de NewID()

Bonjour je veux générer un nombre Aléatoire Unique avec l'aide de la suivre déclaration :

Convert(int, (CHECKSUM(NEWID()))*100000) AS [ITEM] 

Cause lorsque j'utilise les jointures des clauses de "de", il génère un double des registres en utilisant la fonction NEWID()

Im à l'aide de SQL Server 2000

*PD : Lorsque j'utilise Rand (), probablement répéter l'opération sur la probabilité 1 de 100000000 mais c'est tellement criticall ainsi, il a à 0% de probabilité de répéter une valeur aléatoire générée

Ma Requête avec la fonction NewID() et le résultat sur l'instruction SELECT est dupliqué (x2)
Ma Requête sans NewID() et à l'aide de Rand() sur instruction SELECT est unique (x1), mais la probabilité de répéter la valeur aléatoire générée est hésitant mais existe!

Merci!

Quelle base de données? Oracle? MSSQL? MySQL? PostgreSQL? De nombreuses bases de données ont déjà des fonctions aléatoires.
NEWID() est SQL Server
Quel est le problème? SIGNE? Pas de virgule flottante? Dépassement de capacité? Il ya une raison pourquoi nous utilisons la fonction NEWID (): c'est probablement la meilleure solution
Escobedo, lorsque j'exécute votre commande: select Convert(int, (somme de contrôle(NEWID()))*100000) [POINT] j'obtiens: Msg 8115, Niveau 16, État 2, Ligne 1 erreur de dépassement Arithmétique expression de conversion de type de données int.
Je ne peux pas utiliser la fonction NEWID() parce que quand j'utilise une Jointure, il a généré un duplicité aussi si j'utilise Distinctes sur instruction SELECT

OriginalL'auteur Jonathan Escobedo | 2010-02-11