2017-05-24 67 views
1

我搜索了很多,但没有找到任何东西。我的问题有点难以理解。从两个不同的mysql表获得信息

我有两张桌子有一个“审查”信息和其他有“餐厅”信息。 表名为“评论”,其中有'餐厅ID'列,存储相同的整数值,有其他表“餐厅”有。

table name = reviews     table name - restaurant 
____________________________   _______________________ 
restaurantID - rating- review   restaurantID -name-location 

我想使用相同的html搜索表单,当我用“评级”搜索时。它会给我“餐厅名称”,“位置”和“评级”的信息。 ,反之亦然。评分从1到5.

我已经尝试了不同的查询在mysql工作台。但没有找到任何运气。 任何帮助将不胜感激。我正在使用PHP PDO。 PS-请让我知道,如果你不明白这个问题,这是一篇文章。干杯

+0

显示你试过到目前为止。 –

+0

@WEI_DBA我试过使用JOIN,INNER JOIN和UNION,但他们没有工作。搜索仅显示“餐厅”信息。 – Arsh

+1

当我们说'显示'我们的意思是发布您的查询。那么我们可以提供更好的帮助来找到解决方案。 –

回答

2

您可以加入使用restaurantID列的两个表:

SELECT resto.name, resto.location, rev.rating 
FROM restaurant as resto 
LEFT JOIN review as rev 
ON rev.restaurantID = resto.restaurantID 
WHERE 
resto.name = 'SOME_RESTAURANT_NAME'; 
+1

因此,现在知道一家餐馆可能有多个评论,您可能需要在此查询中使用“Max(rev.rating)”和“Group By”。这应该给他们一些他们可以使用的东西。 –

+0

当我试图运行它,它只能与收视率不幸地工作。是否有可能如果我搜索没有评论或评级的餐厅,那么我只能得到那些结果? – Arsh

+0

将“加入”更改为“左加入”。 –

相关问题