嗨,那里有Oracle的人,针对两个表的SELECT语句的Oracle MAX函数
我有两张名为book_items和book_items_hist的表。
两个表之间的连接是book_item_id。
在book_items中,book_item_id是唯一的,因此表中每个记录只有一个book_item_id。
在book_items_hist中,book_item_id不是唯一的,表中有多个book_item_id记录,供后台参考,这是历史审计表。
我想弄清楚如何使用MAX函数从book_items_hist b得到我的最新记录,WHERE子句在b.book_timestamp上。
但是,下面的SQL从book_items_hist表返回多行,我正在寻找一个独特的结果集。
Select a.book_item_id, a.book_sale_item_status, a.book_name b.book_timestamp
from book_items a
join book_items_hist b on a.book_item_id = b.book_item_id
group by a.book_item_id, a.book_sale_item_status, a.book_name, b.book_timestamp
having max(b.book_timestamp) < (systimestamp - interval '10' minute)
希望得到一些帮助以及解释/分解,以便我可以从中学习。
谢谢。
请使用sqlfiddle来显示示例数据等。 – OldProgrammer