我有两张桌子:
当我为Table_Users
创建条目时,我还要将数据从Table_Users
插入到Table_Sites
,但只有当它不存在时,我要插入的数据是:< / p>
Table_Sites中的列名是:
我需要知道的是如何在字符串中执行SQL以与c#中的SqlCommand
一起使用。
答案 0 :(得分:0)
嗯,这可以用非常简单的方式解决:
insert into Table_Sites(userID, userName, siteName)
select tu.userID, tu.userName, tu.site
from Table_Users tu
where not exists(select 1 from Table_Sites ts
where ts.userID = tu.userID and ts.userName = tu.userName
and ts.siteName = tu.site )
不需要换行符,因此如果您愿意,可以将它放在一行中。
另一种做同样事情的方法是使用except
,它只返回第一次选择的那些在第二次选择中找不到的行:
select tu.userID, tu.userName, tu.site
from Table_Users tu
except
select ts.userID, ts.userName, ts.siteName
from Table_Sites ts
答案 1 :(得分:0)
尝试使用PetaPoco。 在nuget中可用