且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用T-SQL Merge语句时如何避免插入重复记录

更新时间:2022-12-10 15:29:02

已满足您的新规范.只插入最高的col4值:这次我使用group by来防止重复的行.

Solved to your new specification. Only inserting the highest value of col4: This time I used a group by to prevent duplicate rows.

MERGE INTO dbo.tbl1 AS tbl 
USING (SELECT col2,col3, max(col4) col4 FROM #tmp group by col2,col3) AS src 
ON (tbl.col2 = src.col2 AND tbl.col3 = src.col3) 
WHEN NOT MATCHED THEN  
    INSERT (col2,col3,col4) 
    VALUES (src.col2,src.col3,src.col4);