Mysql 使用1条件的多列SQL值对

Mysql 使用1条件的多列SQL值对,mysql,sql,Mysql,Sql,我有一张桌子,上面有公共汽车的行程 id busid pickup destination 1 1 NWD KML 2 2 KML ORL 3 2 ORL ULI 4 3 ULI OIL 5 4 YUT CDN 6 5 CDN UYT 我试图找到的是当用户选择皮卡NWD和目标油。 输出将是 1: Take bus 1

我有一张桌子,上面有公共汽车的行程

id   busid  pickup   destination
1       1    NWD      KML
2       2    KML      ORL
3       2    ORL      ULI
4       3    ULI      OIL
5       4    YUT      CDN
6       5    CDN      UYT
我试图找到的是当用户选择皮卡NWD和目标油。 输出将是

1: Take bus 1 going from NWD to KML
2: Take bus 2 going from KML to ORL
3: Take bus 2 going from ORL to ULI
4: Take bus 3 going from ULI to OIL
或者如果用户选择取货NWD和目的地ULI

1: Take bus 1 going from NWD to KML
2: Take bus 2 going from KML to ORL
3: Take bus 2 going from ORL to ULI
如果用户选择皮卡YUT和目的地UYT

1: Take bus 4 going from YUT to CDN
2: Take bus 5 going from CDN to UYT

所以问题是我无法将所有列表附加到用户选择的收货和目的地。如何获得这些数据?

您有一个图形数据结构,MySQL基本上不支持这些数据。您可以做的一件事是编写一个递归存储过程,或者考虑另一种表示问题的方法,或者使用不同的数据库,例如Postgres、Oracle和SQL Server,它们都支持递归CTE。这是一个很好的答案。谢谢但如果我把起点和终点分开呢?你认为有可能得到这个结果吗?你能在样本中添加一些额外的数据吗?您是否有额外的列,其中包含类似route_id的内容,以显示所有点都属于某条路线?每个记录是如何相互关联的?仅凭皮卡和目的地名称?如果有两个或多个记录具有相同的取货和/或目的地名称,该怎么办?