获取上一个和下一个之间的名称

时间:2015-09-12 18:55:04

标签: mysql

如果我知道前一个ZOB/Hauptbahnhof Bussteig的停止名称和下一个LindenArcaden的停止名称,我有停止表,我正在尝试找到名称LindenArcaden, ZOB/Hauptbahnhof BussteigSandstraße ? id增加1。该名称不是唯一的,此订单Sandstraße可以在表格中的各个位置找到。  我试图在小提琴中找到带有stop_id 25的名字,但我之间有很多名字。

http://sqlfiddle.com/#!9/36ec9/2

我该如何解决?

代码停止表

CREATE TABLE IF NOT EXISTS stops
 (stop_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 name varchar(30) NOT NULL, 
 lat double(10,6) , 
 longi double(10,6) )

1 个答案:

答案 0 :(得分:1)

您正在搜索第一个LindenArcaden和第一个Sandstraße之间的所有托管。要找到您想要的条目,您可以使用

SELECT STOP_ID, NAME
FROM STOPS
WHERE STOP_ID IN (SELECT STOP_ID+1
                           FROM STOPS
                           WHERE NAME = 'LindenArcaden')
AND STOP_ID IN (SELECT STOP_ID-1
                           FROM STOPS
                           WHERE NAME = 'Sandstraße')
ORDER BY STOP_ID