一个表中的两个字段与另一个表相关

时间:2019-07-17 02:21:15

标签: ms-access

我正在尝试在MS Access中进行查询(就像回到20年一样),无法解决如何使用别名表的问题,从而使我的基本表中的两列从另一个表中查找值期望得到两列联接产生不同的对应结果。

我有两个表-车站和路线。我想创建一个查询,该查询产生路线ID,起点和终点,从而为我两者提供站名。

工作站(station_id,station_name)

1,“奥克兰”

2,“惠灵顿”

3,“汉密尔顿”

路线(route_id,station_from_id,station_to_id)

1,1,2

2,1,3

3,2,3

4,3,2

5,3,1

6,2,3

查询结果应为

1,奥克兰,惠灵顿

2,奥克兰,汉密尔顿

3,惠灵顿,汉密尔顿

4,汉密尔顿,惠灵顿

5,汉密尔顿,奥克兰

6,惠灵顿,汉密尔顿

选择a.station_id AS station_from,b.station_id AS station_to

FROM路线

INNER JOIN站点位于stations.station_id = route.station_from_id AS a

INNER JOIN站位于stations.station_id = route.station_to_id AS b

这就是我要做的,但是在访问中,不知道如何使它工作,查询向导会产生我无法使用的最奇怪的结果。

谢谢您的帮助,马特

1 个答案:

答案 0 :(得分:1)

我迅速将其组合在一起以产生所需的输出。

select 
  r.route_id, o.station_name as Origin, d.station_name as Destination
from 
  ((routes r
inner join 
  stations o on o.station_id = r.station_from_id)
inner join 
  stations d on d.station_id = r.station_to_id)

结果:

route_id   Origin          Destination           
--------   ------------    ------------------
       1   Auckland        Wellington               
       2   Auckland        Hamilton                 
       3   Wellington      Hamilton                 
       4   Hamilton        Wellington               
       5   Hamilton        Auckland                 
       6   Wellington      Hamilton