绘制概率数

时间:2017-03-14 16:31:03

标签: sql sql-server sql-server-2008

我有一个包含3个函数的表:IdNameProbability

ID - Name - Probability

1 -  T1   -  1

2 -  T2   -  2

3 -  T3  -   3

4 -  T4   -  1

5 -  T5  -   3

概率1-20%

        2-30%

        3-50%

此查询吸引了大量4名员工。

FROM 'C:\temp\colaboradores_teste.csv'
WITH
(
    FIRSTROW=4,
    FIELDTERMINATOR = ';',
    ROWTERMINATOR = '\n'
)

/* Sorteio funcionarios do dia */
DECLARE cur CURSOR FOR
SELECT ID FROM RH_Alcoolemia_FXP WHERE IDInterno is null  and CAST(DataControlo AS DATE) = CAST(getdate() AS DATE) 
OPEN cur
FETCH NEXT FROM cur INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
    /* Random do funcionario */
    SELECT TOP 1 @IDInterno = A.IDInterno, @Nome = A.Nome FROM #temporaria A
    WHERE A.IDInterno not IN (select IDInterno FROM RH_Alcoolemia_FXP WHERE cast(DataControlo as DATE) = cast(getdate() as date) AND IDInterno is not null) 
    order by NEWID()

    update RH_Alcoolemia_FXP set IDInterno = @IDInterno, Nome = @Nome WHere ID = @ID

    FETCH NEXT FROM cur INTO @ID
END

输出是这样的:

Id-Id-Name

233-3-T3

234-1-T1

235-5-T5

236-2-T2

根据每位官员的概率,我喜欢抽一名官员。 如果是3,那么官员比拥有1的官员更有可能离开。

0 个答案:

没有答案