通过调整贷款停止date和员工数量来更新贷款手册

我有两个表格,从Excel电子表格中将现有数据转换为.csv:

表一:贷款

表的图像

表二:olb

表的图像

staffnoloanstart列在两个表中都是相似的。 对于每个staffno ,在olb表中可以有多个结果。

问题:
我需要更新表1(loanbook)中的loanstop列,其中staffnoloanstart是相同的表2( olb )中的staffno值。

 UPDATE loanbook3 SET loanbook3.loanstop = ( SELECT loanstop FROM olb WHERE olb.staffno = loanbook3.staffno AND olb.loanstart = loanbook3.loanstart ); 

结果#1242 – 子查询返回多于1行。

我该怎么办?

在您的子查询中使用limit 1

 UPDATE loanbook3 SET loanbook3.loanstop = ( SELECT loanstop FROM olb WHERE olb.staffno = loanbook3.staffno AND olb.loanstart = loanbook3.loanstart limit 1)