我正在为用户填写一个具有区域权限的表,但最初每个用户都可以访问每个区域,所以如果我有 100 个用户和 10 个区域,我的 UserAreas 表中将有 1000 条记录。
UserAreasID UserID AreaID
=========== ====== ======
鉴于我不能使用内联 SELECT,我如何在 SQL Server 2005 中执行此操作?
我正在为用户填写一个具有区域权限的表,但最初每个用户都可以访问每个区域,所以如果我有 100 个用户和 10 个区域,我的 UserAreas 表中将有 1000 条记录。
UserAreasID UserID AreaID
=========== ====== ======
鉴于我不能使用内联 SELECT,我如何在 SQL Server 2005 中执行此操作?
交叉连接应该这样做:
insert UserAreas (UserId, AreaId)
select u.UserId, a.AreaId
from [User] u
cross join Area a