MySQL 加入 'on clause' 中的未知列

标签 mysql sql join

我目前正在尝试在同一张 table 上加入两次。

我有一个类似于下表的表格:

旅行:

arrival_loc_code
leaving_loc_code

还有另一个表格包含这些位置的值:

地点:

location_code (pk)
location

我正在尝试根据旅行中的位置代码获取到达和离开的位置。我目前的尝试导致:

select leavingloc.location,arrivalloc.location from trip 
    join locations as leavingloc on trip.departureloccode = locations.locationcode 
    join locations as arrivalloc on trip.arrivalloccode = locations.locationcode;

引导我:

ERROR 1054 (42S22): Unknown column 'locations.locationcode' in 'on clause'

在这一点上,我很确定我对某些事情的理解不正确,并希望得到任何帮助。

最佳答案

你已经为你的表设置了别名,但是没有在连接子句中使用别名,所以 mysql 变得困惑了:

select leavingloc.location, arrivalloc.location from trip 
    join locations as leavingloc on trip.departureloccode = leavingloc.locationcode 
    join locations as arrivalloc on trip.arrivalloccode = arrivalloc.locationcode;

关于MySQL 加入 'on clause' 中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297866/

相关文章:

mySql ORDER BY 首先包含一些元素?

php - 使用 MySQL 进行简单的统计页面排名

mysql - 如何根据时间戳从数据库中获取数据

sql - 数据库占用的空间比表的总和还要多

php - 如何获取两个表的结果以及如何在标题中显示一个字段值

sql - DROP PROCEDURE 抛出语法错误

amazon-web-services - Pyspark 与 AWS Glue 在多个列上连接创建重复项

MySQL:连接类型的快速分割

c# - 从我的 C# 应用程序连接到我的远程 mysql 数据库

mysql - 需要帮助将重复项从连接返回到包含求和函数的单行上