我有两个表,其中现有数据从 Excel 电子表格中提取并转换为 .csv:
表一:借书
表二:olb
staffno
和 loanstart
列在两个表中是相似的。对于每个 staffno
,olb
表中可以有多个结果。
问题:
我需要用表二 (olb
) 中的 loanstop
值更新表一 (loanbook) 中的 loanstop
列,其中 staffno
和 loanstart
是一样的。
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/