看你的表结构设计得怎样了。设计得好当然可以。
对记录查询是通过where子句来实现的。
注意线路和车站是多对多的关系,一条线路有多个车站,而一个车站有多个线路经过。因此使用一个对应表即可解决问题了。
三个表:线路表(线路号(主键),线路名), 车站表(车站号(主键),车站名),线路与车站对应表(线路号,车站号(两个字段作联合主键))。当然,如果你不考虑查询效率,可以直接使用线路名和车站名作一个表就行。
已知两个站名,求两个站所对应的所有线路查询语句可以这样写(还有多种写法,这里只列出一种),实际使用时请用实际的表名来替换中文表名,而且可以根据需要进行优化:
select 线路表.线路名 from 线路表,线路车站对应表 where 线路表.线路号=线路车站对应表.线路号 and 线路车站对应表.车站号 = :待查询的起始车站号 and 线路车站对应表.线路号 in (SELECT 线路号 from 线路车站对应表 WHERE 车站号 = :待查询的终止车站号)