我有两个表,这些表具有从Excel电子表格中提取的现有数据,这些数据已转换为.csv:

表一:贷款簿

mysql - 通过协调贷款停止日期和员 worker 数来更新贷款簿-LMLPHP

表二:olb

mysql - 通过协调贷款停止日期和员 worker 数来更新贷款簿-LMLPHP

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

问题:
我需要使用表二(loanstop)中的loanstop值更新表一(贷款书)中的olb列,其中staffnoloanstart相同。

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)

关于mysql - 通过协调贷款停止日期和员 worker 数来更新贷款簿,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33934555/

10-10 18:56