0
我想更新一个名为hours的列,其中每个工作记录的操作编号在39之前。每项工作都由许多操作组成,最终操作始终为39号。例如,一项工作可能有一项操作30,31,32,35和最终39或另一项工作可能有30,31和39。每种情况下它只是39之前需要更新的操作,在这种情况下是35和31.SQL更新记录低于最大值
我设法得到一个选择脚本来列出每个作业编号的最大但一个操作编号,但无法派生更新版本以更新每个匹配记录的“小时”。
SELECT jrt.job, max(jrt.oper_num) AS oper_num
FROM jrt_sch jrt
INNER JOIN job j ON j.job = jrt.job
WHERE j.type = 'S' AND jrt.job IN
(SELECT jrt.job
FROM jrt_sch jrt
INNER JOIN job j ON j.job = jrt.job
WHERE j.type = 'S'
GROUP BY jrt.job
HAVING max(jrt.oper_num) = 39)
AND oper_num < 39
GROUP BY jrt.job
这给
job oper_num
2109 31
2424 32
2509 32
2546 31
2418 31
3972 31
什么是您的数据库引擎? –