Sql 插入前查找行集,重复列表
我有一个表(它是一个包含4个整数的结构列表,第一个id是列表id) 现在我需要在这个表中插入第四个列表Sql 插入前查找行集,重复列表,sql,tsql,Sql,Tsql,我有一个表(它是一个包含4个整数的结构列表,第一个id是列表id) 现在我需要在这个表中插入第四个列表 idA | idB | idC 2 | null | 1 4 | null | 1 null | 1 | 1 但是,它已经存在(列表id=1) alse存在(idL=2) 不存在 如何在将重复项插入表之前找到它似乎只是从中插入的问题(选择“不在中”) 试试这个例子: 免责声明:在您提供的示例数据中,第2行和
idA | idB | idC
2 | null | 1
4 | null | 1
null | 1 | 1
但是,它已经存在(列表id=1)
alse存在(idL=2)
不存在
如何在将重复项插入表之前找到它似乎只是从中插入的问题(选择“不在中”) 试试这个例子: 免责声明:在您提供的示例数据中,第2行和第4行获得了相同的idA、idB和idC集。
如果这些列不能形成唯一的,并且您已经在copy table中获得了该元组,并且您需要在copy table中为原始表中的每一行指定一行,那么这将非常困难,因为对于copy中的此类行,无法判断原始表中的行是否相关。如果值在table temp中,并且您知道列表id 您可以使用“除外” 例如:
您是否在文件中有这些列表,或者您正试图使用SQL查询插入它们?您可以删除所有行,然后插入新集,如果当前集始终包含旧行,并且可能有一些新行SQL查询,则它是java arraylist
idA | idB | idC
2 | null | 1
4 | null | 1
null | 1 | 1
idA | idB | idC
2 | null | 1
4 | null | 1
idA | idB | idC
2 | null | 1
4 | null | 1
null | 7 | 1
insert into list (idL, idA, idB, idC)
select @list_id, t.idA, t.idB, t.idC
from
(
select idA, idB, idC
from @new_values
except
select idA, idB, idC
from list
) t