在 Oracle 9.2.0.8 中,我需要返回一个记录集,其中特定字段(LAB_SEQ)最多为另一个字段(WO_NUM) (VARCHAR数列0001,0002等) 每个字段(WO_NUM) 。要选择最大值,我正尝试按降序排列并选择第一行。在 StackOvertroll 上我能找到的所有信息都表明,唯一的方法就是使用相关的子查询。 然后我在外部查询条款中使用这个最大值来获取每个 WO_NUM 想要的行 :
SELECT lt.WO_NUM, lt.EMP_NUM, lt.LAB_END_DATE, lt.LAB_END_TIME
FROM LAB_TIM lt WHERE lt.LAB_SEQ = (
SELECT LAB_SEQ FROM (
SELECT lab.LAB_SEQ FROM LAB_TIM lab WHERE lab.CCN= 1 AND MAS_LOC= 1
AND lt.WO_NUM = lab.WO_NUM ORDER BY ROWNUM DESC
) WHERE ROWNUM=1
)
但是, 这返回了 lt. WO_ NUM 错误的无效标识符 。 研究表明, ORACL 8 只允许相关的子解密深度为一层, 并建议重写以避免子解密- 有关选择最大值的讨论显示无法完成 。 任何帮助执行此语句的帮助都会非常感激 。