【发布时间】:2014-03-08 04:57:21
【问题描述】:
我创建了一个产生一系列数字的 cte。
我想做的是加入这个表并使用随机选择的值进行插入,这都是为了产生测试数据。
插入的随机部分看起来像这样:
(SELECT TOP 1 Name FROM @Titles ORDER BY NEWID())
问题是,当我在 CTE 上进行插入和加入时,我的结果似乎一点也不随机?它总是使用来自@Titles 的相同值? (还有其他表格,比如@Notes。
WITH MyCte AS
(SELECT MyCounter = 1
UNION ALL
SELECT MyCounter + 1
FROM MyCte
where MyCounter < 100)
INSERT INTO [MyTable]
( Title, Note )
select (SELECT TOP 1 Name FROM @Titles ORDER BY NEWID()),
(SELECT TOP 1 Note FROM @Notes ORDER BY NEWID())
from mycte
【问题讨论】:
-
您是要以随机顺序插入来自
@Titles的所有值,还是总是得到100 条记录(即使@Titles中的记录较少)?
标签: sql sql-server common-table-expression