2016-08-07 39 views
0

我需要一种方法来加入一个表有SELECT查询的结果,我现在面临一些困难,这样做...加入与SELECT MySQL的

有3个表:

food_shops

id, name, slug 

categories_food_shops

id, id_category, id_food_shop 

类别

id, name, slug 

我该怎么做,以显示与结果:food_shop.idfood_shop.namecategorie.slug 基础上,categories_food_shops表?包含商店的注册表及其类别?

到目前为止,我能做到这一点,但它得到

未知列在 'where子句'

SELECT fs.id, fs.slug, fs.name 
FROM food_shops fs 
JOIN 
(
    SELECT * 
    FROM categories_food_shops cfs 
    WHERE cfs.id_food_shop = fs.id 
) AS cfs ON categories.id = cfs.id_catedory 

任何帮助将是非常赞赏 'fs.id',我是新来的这个连接语句

+0

尝试移动内部,其中cfs.id_food_shop = fs.id到您的条款? – jdog

+0

请张贴一些示例数据和期望的结果。 –

+0

PM 77-1我在那里告诉我,我想根据关系表(categories_food_shops) – user3159043

回答

2

试试这个:

SELECT 
    food_shops.id, food_shops.name, categories.slug 
FROM food_shops 

INNER JOIN categories_food_shops 
ON food_shops.id = categories_food_shops.id_food_shop 

INNER JOIN categories 
ON categories_food_shops.id_category = categories.id 

然后,您可以使用一个WHERE声明在结尾与特定的ID来显示食品商店,或具有类似名称等

+0

得到food_shops和类别slu id的ID,名字,slu Oh Oh this this this!非常感谢 – user3159043

+0

不客气!请接受此答案以将问题标记为已回答。 :) –

+0

我不是乞求,它实际上是一件好事,看到人们标记问题的答案,因为它告诉其他用户他不再需要此问题的帮助。但我可以看到你来自哪里。 –