检索数据插入到表中,要求插入的数据无重复
INSERT INTO TEMWT (
COP_CD,
LGIID_CD,
TOK_CD,
TOKKAI_KB,
HIN_CD
)
SELECT '001' ,
'0023' ,
TOKHNY_CD,
TOKKAI_KB,
HIN_CD
FROM(
SELECT '001' ,
'0023' ,
TOKHNY_CD,
TOKKAI_KB,
HIN_CD ,
ROW_NUMBER() OVER(PARTITION BY TOKHNY_CD,TOKKAI_KB,HIN_CD ORDER BY TOKHNY_CD,TOKKAI_KB,HIN_CD) AS RN
FROM TOKKYKTNKMT TKM
WHERE TKM.COP_CD = '001'
AND TKM.TOKHNY_CD = '000002'
AND TKM.DELRNR_FL = 0
) WHERE RN = 1
内层select 中Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
外层select 条件where rn=1,重复的数据中取一条即可,从而保证了插入TEMWT表中的数据没有重复的。
本文介绍了一种使用SQL语句实现数据去重并插入到目标表的方法。通过内层SELECT语句结合ROW_NUMBER()函数为每组重复数据分配唯一排名,并在外层SELECT中筛选排名为1的数据进行插入,确保TEMWT表中的数据不重复。
1383

被折叠的 条评论
为什么被折叠?



