示例架构http://sqlfiddle.com/#!9/01c068/2
对于任何插入,author.created_at
与books.created_at
相同,而author.previous_created_at
与books表中第二高的创建日期相同。
在最新插入中找出丢失记录的最佳方法是什么?
预期结果是具有books.id = 4
答案 0 :(得分:0)
您的问题对我来说并不完全清楚,但是我认为下面的代码正是您想要的。或至少它会有所帮助。
但是,我想指出的是,表“作者”不包含任何有关作者的数据。它还无法区分不同的作者。因此,您可能需要重新设计项目的某些元素。
这是您要找的东西吗?如果没有,您能否再提供一些解释和一些示例?
select B.id as bookID
, B.author_id
, B.created_at
, sub.previous_created_at
from books as B
left join (
select id
, author_id
, created_at as previous_created_at
from books
) as sub
on sub.id + 1 = B.id
and sub.author_id = B.author_id
此查询返回其作者和created_at的所有书籍,并在最后一栏中返回同一作者上一本书的created_at。