仅将新数据从一个表插入另一个结构不同的表
大家好, 我试图在表“ userhr.nucleofam_ris”中仅插入“ userhr.paghe_nucleo_fam”中存在的额外数据。 但是错误出现了:
“子查询返回的值多于1。当子查询遵循= ,! =,<,<=,>,> =或当子查询用作表达式时,不允许这样做。”
问题是我试图为找到的每条记录输入一个更高的+1 kint。
a = 168
List_of_3_lists = [[5628,168,5627],[2342,553,3113],[4532, 332,2442]]
list3 = [4322, 5627, 3313]
你能帮我吗?
答案 0 :(得分:0)
我从您的描述中认为,您想创建下一组键,以便可以将返回的行插入到现有表的最后一行之后。
这是一个使用两个临时表变量执行此操作的示例。它应该为您指明正确的方向。
declare @t1 table(k int, txt1 varchar(10))
insert @t1 values (1,'firstrow'),(2,'second'),(3,'third')
declare @t2 table(txt2 varchar(10))
insert @t2 values ('a'),('b'),('c')
select row_number() over(order by txt2)
+(select max(k) from @t1) NewKey,
txt2
from @t2 t2
结果是:
NewKey txt2
4 a
5 b
6 c