【发布时间】:2019-03-09 03:32:12
【问题描述】:
当我们需要两个日期中的最大值作为审核日期时的任何替代方案 如何优化它。
SELECT
a.code,a.name,b.token,a.last_updated,b.last_updated,
CASE WHEN a.last_updated >= nvl(b.last_updated, a.last_updated) THEN
a.last_updated ELSE b.last_updated END AS currdate
FROM
table1 a LEFT JOIN table2 b ON (a.code = b.code
AND b.last_updated > '03/10/2018 13:21:37')
WHERE
a.ou_code IN
(SELECT ou_code FROM table1 WHERE last_updated > '03/10/2018 13:21:37')
OR (b.last_updated > '03/10/2018 13:21:37')
ORDER BY currdate
【问题讨论】:
-
删除
OR (b.last_updated > '03/10/2018 13:21:37')。这是多余的。
标签: sql oracle optimization max