首页 > 解决方案 > 如何创建具有两个连接到同一个查找表的查询

问题描述

我希望有人能指出我正确的方向,我只是一个业余爱好玩的人。

我有 2 张桌子,第一张桌子 'tbl_wheel_diameter' 只有 'wheel_diameter' 和 'id'

第二个表“tbl_tyres”有“wheel_diameter_front”、“wheel_diameter_rear”和“vehicleId”

我需要编写一个同时选择前后直径的查询。这是我尝试过的。

SELECT  tbl_wheel_diameter.wheel_diameter_front,tbl_wheel_diameter.wheel_diameter_rear
FROM tbl_tyres
INNER JOIN tbl_wheel_diameter
     ON tbl_wheel_diameter.id = tbl_tyres.wheel_diameter
WHERE tbl_tyres.vehicleId = 2

我读过我应该使用左连接,但我似乎对如何编写它们感到困惑?

标签: mysql

解决方案


为表添加别名,以便您可以将同一个表包含两次。下面是一个使用别名 t1 和 t2 的示例。

SELECT  t1.wheel_diameter,t2.wheel_diameter
FROM tbl_tyres
INNER JOIN tbl_wheel_diameter t1
     ON t1.id = tbl_tyres.wheel_diameter_front
INNER JOIN tbl_wheel_diameter t2
     ON t2.id = tbl_tyres.wheel_diameter_rear
WHERE tbl_tyres.vehicleId = 1

推荐阅读