我有一个发行程序,它只知道如何编写以下要求:
我有一份球队名单,每支球队有20名球员。每支球队的名字都由“FirstName”和“Player…”组成。作为“姓氏”,在字符串“Player”之后出现一个增量数(来自“NumberID”)。
我想说的是,对于每支球队的20名球员,必须在“职位”栏下输入以下职位:
然后根据他们的位置,为每个玩家执行一个随机的‘PlayerWeighting’,根据他们在1-100之间的‘位置’。

发布于 2016-06-08 14:58:25
只需对您的搜索案例表达式中的其余两列使用SELECT
CASE
WHEN n.NumberId BETWEEN 1 AND 2 THEN 'GK'
WHEN n.NumberId BETWEEN 3 AND 8 THEN 'DF'
...
END AS Position,
CASE
WHEN n.NumberId BETWEEN 1 AND 2 THEN ABS(CHECKSUM(NEWID())) % 4
WHEN n.NumberId BETWEEN 3 AND 8 THEN ABS(CHECKSUM(NEWID())) % 27 + 4
...
END AS PlayerWeigthing,如果你也想随机化玩家号码,你必须为你的数字创建一个随机映射,如下所示:
DECLARE @RNumber AS TABLE(n int IDENTITY(1,1), rn INT)
INSERT @RNumber
SELECT NumberID as rn FROM dbo.Number
WHERE NumberID <= 20
ORDER BY CHECKSUM(NEWID())然后,您可以使用它来代替原来的数字表,并在需要时使用n和rn。
https://stackoverflow.com/questions/37701268
复制相似问题