我有两张桌子(userfrom和userto)。
我想从" userfrom"中插入数据表格" userto"并希望在两列上实现条件,即"用户名"和"约会"。
基本上我正在粘贴来自" userfrom"的数据。表格" userto"。
插入前的条件是。
相同"用户名"与#34;日期"不应插入。 可以使用相同的用户名,但日期不同。
两个表之间只有用户名相同
请注意:(重新运行插入查询时,我不希望重复相同的数据。此插入查询在30分钟内运行5次)
表userfrom
:
1 sampleusername 2017-12-04
2 sampleusername 2017-12-04
3 sampleusername2 2017-12-04
4 sampleusername 2017-12-05
表usertto
:
1 sampleusername 2017-12-04
2 sampleusername2 2017-12-04
3 sampleusername 2017-12-05
答案 0 :(得分:1)
您可以在sql server中使用GROUP BY和EXISTS,如下所示:
insert into userto (username, date)
select distinct username, date from userfrom uf
where
not exists(select 1 from userto where username=uf.username and date=uf.date)
答案 1 :(得分:0)
您可以LEFT JOIN
这两个表,然后只插入userfrom中不存在于userto表中的值,如下所示:
INSERT INTO userTo
(
username
,userDate
)
SELECT DISTINCT f.username
,f.userDate
FROM usertrom f
LEFT JOIN userto t ON f.username = t.username AND f.userDate = t.userDate
WHERE t.id IS NULL