我必须准备测试数据以发送给第三方,但我不希望向客户发送真实姓名,也不希望发送他们的真实出生日期。
我可以通过几年随机增加DOB来解决D.O.B问题。然而,名称是不同的,无论如何我可以有一个说10个客户名单的列表,每次只选择一个不同的名字和姓氏。
我希望混合和匹配名称,所以它基本上随机选择1个名字,然后随机选择一个姓氏并将它们放在同一行。
ctrTabbarOpciones
每次都会返回一个随机的名字,但是如果我在其中输入姓氏列也将返回匹配的姓氏,我不希望我想从列表中随机输入姓氏。
我尝试通过SELECT TOP 1 opde.first_name
FROM Table AS opde
ORDER BY NEWID()
执行此操作,但您无法在UNION
中执行ORDER BY NEWID()
。
干杯。
答案 0 :(得分:1)
我认为这个可能有帮助...
WITH fn AS
(
SELECT TOP 1 opde.first_name
FROM Table AS opde
ORDER BY NEWID()
),
sn AS
(
SELECT TOP 1 opde.surname
FROM Table AS opde
ORDER BY NEWID()
)
SELECT first_name, surname
FROM fn
CROSS APPLY sn;
在fn子查询中,您选择一个随机的名字。在sn你做同样但有姓。 通过交叉应用,您可以将这两个结果组合起来
答案 1 :(得分:0)
您可以使用子查询联合,每个子查询使用NEWID
的顺序:
SELECT first_name
FROM
(SELECT TOP 1 opde.first_name FROM Table AS opde ORDER BY NEWID()) t1
UNION ALL
SELECT first_name
FROM
(SELECT TOP 1 opde.first_name FROM Table AS opde ORDER BY NEWID()) t2;