我需要一些帮助与SQL Server合并语句。我正在使用版本2008.merge语句 - upsert - 在源表中执行独特的测试以及
我有两个表table1和table2在每个表中有3列:名称,年龄,姓氏。
我想做一个从table2到table1的Upsert的小变种。如果记录存在于表1中,则忽略。如果不存在,则插入。
我知道下面会的工作 -
merge into [test].[dbo].[table1] a
using [test].[dbo].[table2] b
on a.name = b.name and a.lastname = b.lastname
when not matched then
insert (name, age, lastname) values (b.name, b.age, b.lastname)
我想知道如果我可以做这样的事情?目前,以下不工作:
merge into [test].[dbo].[table1] a
using [test].[dbo].[table2] b
on a.name = b.name and a.lastname = b.lastname
when not matched then
insert (select name, max(age), lastname from b group by name, lastname)
基本上我想插入从表2中只有“唯一的记录”表1.独特的手段名字和姓氏应该是相同的。
谢谢。