我需要一些帮助。我正在尝试将tsql查询结果复制到另一个表中。我能够用下面的tsql做到这一点,但我需要放一些检查方法,如果它已存在于“PageControls”表中,则不复制记录。
INSERT INTO PageControls (UserId, PageId)
SELECT t1.UserId, t2.PageId FROM
aspnet_users t1, Pages t2
我该如何做到这一点?
谢谢。
答案 0 :(得分:1)
您似乎正在尝试使用pagecontrols
用户和网页填充cartesian product
表格。假设这是您的目标,那么您可以在查询中添加not exists
以排除pagecontrols
表中已有的内容:
INSERT INTO PageControls (UserId, PageId)
SELECT t1.UserId, t2.PageId
FROM aspnet_users t1, Pages t2
WHERE NOT EXISTS (
SELECT *
FROM PageControls p
WHERE p.userid = t1.userid and p.pageid = t2.pageid
)