我有 3 个表,我想在其中生成假数据UsersCategoryLink
。
如何在表中插入包含表中随机用户和表中随机 id 的UserCategoryLink
列。在这个SQL 小提琴中,您可以看到带有一些值的表。UserID
User
Categories
UsersCategoryLink
必须填写随机用户和类别。- 每个用户必须有两个类别。
UserID
并且CategoryID
是主键,所以每个值都必须是唯一的。- 我正在使用 SQL Server Express。
我有 3 个表,我想在其中生成假数据UsersCategoryLink
。
如何在表中插入包含表中随机用户和表中随机 id 的UserCategoryLink
列。在这个SQL 小提琴中,您可以看到带有一些值的表。UserID
User
Categories
UsersCategoryLink
必须填写随机用户和类别。UserID
并且CategoryID
是主键,所以每个值都必须是唯一的。
这是我的交叉引用表版本,您将在其中存储用户及其所属的类别。请注意,在 ; 上有一个主键聚集索引
(UserID, CategoryID)
。这确保了每一行都是唯一的:由于您已经在
Users
和Categories
表中拥有数据,因此您可以使用具有窗口函数的 CTE,该窗口函数由一个基本上随机的值ROW_NUMBER
分区UserID
和排序NEWID()
, . 这使我们可以为每个“用户”精确选择两个“类别”:以下是我在系统上生成的行示例: