将SQL结果复制到另一个表中

时间:2014-09-17 00:52:21

标签: entity-framework tsql

我需要一些帮助。我正在尝试将tsql查询结果复制到另一个表中。我能够用下面的tsql做到这一点,但我需要放一些检查方法,如果它已存在于“PageControls”表中,则不复制记录。

INSERT INTO PageControls (UserId, PageId)
SELECT t1.UserId, t2.PageId FROM
aspnet_users t1, Pages t2

我该如何做到这一点?

谢谢。

1 个答案:

答案 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
)