2015-06-30 218 views
0

我有一个数据库,存储有关汽车的信息。有不有外键3个表:Mysql左连接多个表

化妆(make_ID,名称,..)

颜色(的colour_id,c_name和...)

引擎(engine_id,则eng_size ,. ..)

有一个四表,连接在一起使用外键的所有其他(FK):

carDetails(CarDetails_ID,CD_make_ID,CD_colorID,...)

现在我想使用左连接通过使用查询中的ID从表格中获取有关汽车的适当信息。

理想情况下,我想选择make.name WHERE make.make_ID = carDetails.CD_make_ID等,并继续加入左侧的额外信息。我已经尝试过这一点,我在'where'子句中出现错误...显然它不能被识别。

SELECT name FROM make WHERE 'make.make_ID' = 'carDetails.CD_make_ID' LEFT JOIN colour.name WHERE colour.colour_ID = carDetails.CD_colour_ID 

我在做什么错?

+0

你能提供您当前使用的查询? – acupajoe

+0

到目前为止,我只具有以下... SELECT名 FROM'make' 其中 'make.make_ID'= 'carDetails.CD_make_ID' LEFT JOIN'colour.name' WHERE colour.colour_ID = carDetails.CD_colour_ID – JumpMan247

+1

拿看看丹尼尔的回答。你的查询的问题在于你试图指定WHERE,但是你还没有给出你的查询'carDetails'。在使用where/like/etc等向下钻取之前,您必须先进行连接以获取数据。 – acupajoe

回答

-1

试试这个

SELECT name FROM make, carDetails WHERE 'make.make_ID' = 'carDetails.CD_make_ID' LEFT JOIN colour.name ON colour.colour_ID = carDetails.CD_colour_ID