如何从ORACLE中的两个不同表中获取两个字段的最大值

时间:2013-10-25 16:46:13

标签: sql oracle max union-all

我有一个过程根据成功或失败在两个表中打印日志:

log_mig
log_mig_error

我希望得到两个具有相同名称的字段:

uid_proc

用于添加当前进程的连续,这是我到目前为止所做的查询:

(SELECT MAX(uid_proc) FROM LOG_MIG) UNION ALL (SELECT MAX(uid_proc) FROM log_mig_error)

这是输出:

MAX(UID_PROC)
00000000000000000008
00000000000000000009

但我想要最后一行,我试过

SELECT      (SELECT MAX(uid_proc) FROM LOG_MIG) UNION ALL (SELECT MAX(uid_proc) FROM log_mig_error) AS campo 
FROM        log_mig 
INNER JOIN  log_mig_error
WHERE       (log_mig.uid_proc = log_mig_error.uid_proc);

没有成功,我可以创建一个视图并从中获得最大值,但我没有创建任何内容的权限,我必须在运行时一步完成,任何帮助我都会感激

1 个答案:

答案 0 :(得分:1)

如果我理解正确:

select MAX(uid_proc) from(
(SELECT MAX(uid_proc) as uid_proc FROM LOG_MIG) UNION ALL (SELECT MAX(uid_proc) FROM log_mig_error)
)