2012-08-03 42 views
0

在我的Android应用程序中,我从Google Place API获取附近餐馆的列表。形成SQL查询

但不幸的是,这个清单并没有给出餐厅的菜单。

我有T_RESTAURANTT_MENU表。假设我在API返回的列表中获得了4家餐馆,那么我应该如何让我的查询提取数据。

如果我做的: SELECT name, votes, review FROM T_MENU WHERE restaurant_name = REST_NAME_1;

,我不得不解雇这个查询各餐厅即4 times in this case.

任何人都可以建议我一个很好的解决方案呢?

回答

1
SELECT name, 
     votes, 
     review 
FROM T_MENU 
WHERE restaurant_name 
    IN (<four restaurant names comma separated>) 
+0

@Bridge - Oh..that正在寻找整齐......编辑感谢.... – hemu 2012-08-03 08:11:22

+0

感谢。再次提出一个问题:假设我检索数组中所有餐馆的id(在php中为关联数组)。那我怎么能在我的'IN'子句中使用关联数组。 – 2012-08-03 08:47:04

+0

@Chanchal - 对不起..没有知识的PHP。可能是你迭代通过数组&逗号分隔的字符串....不知道,但.... – hemu 2012-08-03 09:51:35

0

您可以使用“IN”关键字代替“=”。 也建议使用餐厅ID而不是名称。

0

试试这个:

select T.name, T.votes, T.review ,M.<menu_items> 
from T_RESTAURANT R join T_MENU M 
where R.restaurant_name=T.restaurant_name