我有链接到系列(多对多)的指南,带有这样的联结表:
导游
id etc.. (more columns)
--
1
13
21
30
系列
id etc.. (more columns)
--
1
3
4
series_guides (primary key consists of these 3 columns) guide_id 也是唯一的,一个指南只能链接到一个系列一次。
PK series_id PK guide_id PK order
------------ -------- -----
1 13 1
1 21 3
1 1 2
3 30 2
现在我的问题是:当我知道其他指南的 ID 时,如何获得下一个指南?
示例:有人正在阅读指南 13 (guide_id),我需要运行什么查询才能获取该系列的下一个指南。这是指南 1。
到目前为止,这是我尝试过的方法,我认为它确实有效。但是也许有更好的方法来做到这一点?
SELECT
sg2.`order`,
sg2.guide_id
FROM series_guides sg
JOIN series_guides sg2 ON sg2.series_id = sg.series_id
WHERE sg.guide_id = 13 AND sg2.order > sg.`order`
ORDER BY sg2.`order`
LIMIT 1;
任何帮助深表感谢