Bonjour,

Je souhaite sélectionner des enregistrements de façon aléatoire NewID en fonction d'un nombre NbContact

Voici ma requête de sélection aléatoire qui fonctionne mais je n'arrive pas a exploiter Le nombre de contact pour l'utiliser NbContact à la place du TOP 10 , paramétrable.

Auriez vous un avis sur la méthode.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
WITH RuleActive AS (SELECT A.RuleId,A.RuleActivityId,A.ActivityTypeId,V.AttributionTypeId,V.NbContact 
FROM dbo.VRule V
INNER JOIN dbo.VRuleActivity A ON A.RuleId = R.RuleId
WHERE DATEDIFF(DAY, DATEADD(day, -1, V.EndDateValidity), GETDATE()) > 1)
SELECT X.*
FROM dbo.VAttributionTAS X
WHERE X.AttributionTASId IN (SELECT TOP 10 AttributionTASId FROM dbo.VAttributionTAS T
					      INNER JOIN RuleActive R ON  R.RuleActivityId = T.RuleActivityId
								WHERE T.AwardTypeId IN (SELECT AwardTypeId 
														FROM dbo.VAwardType 
														WHERE AwardTypeCode IN ('RED'))
								AND T.IsDeleted= 0						
								ORDER BY NEWID() )