mysql - 通过核对贷款停止日期和员 worker 数来更新贷款簿

标签 mysql sql excel

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

表一:借书

image of table

表二:olb

image of table

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

问题:
我需要用表二 (olb) 中的 loanstop 值更新表一 (loanbook) 中的 loanstop 列,其中 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/

相关文章:

mysql - 查找重复项以准备两列主键

两个表中的mysql查询帮助

mysql - MySQL 的求和查询,其中字段包含某些值

sql - 计算每个员工一个月内休假的天数 SQL Server

sql - 填写表中缺失的天数

Excel,创建一个通用的空格分隔字符串

excel - 在excel中反转字母

mysql - 如何通过从数据库读取计算机名来检索登录用户?

mysql - SQL查询从表中获取历史数据

excel - vb.net Crystal 报表 Excel 颜色