我正在尝试在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
这就是我要做的,但是在访问中,不知道如何使它工作,查询向导会产生我无法使用的最奇怪的结果。
谢谢您的帮助,马特
答案 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