我正在尝试根据 ID 和位置获取下一个最新条目的信息,并将其添加到我正在运行的查询中。不是表中第二个最近的条目,只有基于 ID 的上一个条目。
我不确定这是否可能,或者我只是不知道该怎么做,甚至不知道我应该往哪个方向走。
这是以前的程序员是如何做到的:
SELECT -- blah blah blah
, (SELECT TOP 1 CAST(id AS VARCHAR) + '~' + CONVERT(VARCHAR, creation_date, 120)
FROM header hdr2
WHERE hdr2.id < hdr.id
AND hdr2.location = hdr.location
ORDER BY hdr2.id DESC) AS "prev_info"
FROM header hdr
/*blah blah blah*/
我理解他为什么只想使用单个子查询并试图将所有内容放入该列中,但我正在尝试优化这一点,我想以其他更简单、更有效的方式来做。
我觉得答案正盯着我的脸,但我无法伸手去抓住它。如果我需要进一步解释自己,请不要犹豫。