You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于JobNumber将Main表各测试首次时间同步至Info表

需求:将Main表中每个JobNumber的最早时间同步到Info表

需求背景

JobNumber为手动录入,可能存在数据完整性问题,同步时间值后便于修正数据。

具体需求

现有两张测试记录表:

  • Main表:每个测试对应多行数据,包含Time(日期时间)和JobNumber字段
  • Info表:每个测试仅对应一行数据,包含JobNumber字段,需添加对应测试的起始时间

需通过JobNumber关联两张表,提取Main表中每个JobNumber对应的最早Time值,同步到Info表对应JobNumber的行中。

数据示例

Main表原始数据

TimeJobNumber
2023-05-30 10:57:511500
2023-05-30 10:57:521500
2023-05-30 10:57:531500
2018-12-21 10:32:56499
2018-12-21 10:32:57499
2019-10-03 15:28:56777

同步后的Info表数据

TimeJobNumber
2023-05-30 10:57:511500
2018-12-21 10:32:56499
2019-10-03 15:28:56777

SQL实现方案

关联更新语句

UPDATE Info i
INNER JOIN (
    SELECT JobNumber, MIN(Time) AS StartTime
    FROM Main
    GROUP BY JobNumber
) m ON i.JobNumber = m.JobNumber
SET i.Time = m.StartTime;

补充说明

  1. 子查询通过GROUP BY JobNumber和MIN(Time)提取每个测试的最早时间
  2. 使用INNER JOIN确保只更新Info表中存在于Main表的JobNumber行
  3. 若需处理Info表中存在但Main表无对应JobNumber的情况,可改用LEFT JOIN并设置默认值(例如SET i.Time = COALESCE(m.StartTime, '1970-01-01 00:00:00'))

内容的提问来源于stack exchange,提问作者LikeMatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:39:53