SQL - 在单独的id上连接两次表表而不替换原始id

时间:2016-07-28 15:08:58

标签: mysql

我有一张带有'到'位置和'从'位置的旅行表。这些位置有3个字母的缩写词。我想通过添加有关基于位置和位置的信息,在我的查询中向此表添加信息。

SELECT * 
FROM 
    imoova._relocation_deals A, 
    imoova._airport_codes_lookup B, 
    imoova._vehicle_types C 
WHERE 
    A.active = 1
AND A.location_from = B.code 
AND B.country = :country 
AND A.vehicle_type_id = C.id

基本上我想在查询中添加:A.location_to = B.code。我已经查看了联接和联合,但据我所知,他们不会将表格两次附加到结果中。理想情况下,我希望能够产生类似的结果。

to  | to(city)  | to(country) | from | from(city) | from(country)|
------------------------------------------------------------------
BNE | Brisbane  | AUS         | SYD  | Sydney     | AUS          |

我不知道这是否可行,因为它实际上会在结果中创建新列,但如果是,它会节省我很多时间!非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以多次加入一个表,但每个联接都需要一个唯一的别名,以便DB可以区分您正在讨论的“克隆”表的WHICH。

SELECT ..., a.id, b.id
FROM MainTable
JOIN sometable AS a ON ...
JOIN sometable AS b ON ...