Sql 如何从ORACLE中的两个不同表中获取两个字段的最大值
我有一个过程,根据成功或失败在两个表中打印日志:Sql 如何从ORACLE中的两个不同表中获取两个字段的最大值,sql,oracle,max,union-all,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 0000000000000000000
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);
如果没有成功,我可能会创建一个视图并从中获得最大值,但我没有创建任何内容的权限,我必须在运行时一步完成此操作,如果我理解正确,我将非常感谢任何帮助:
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)
)