0

我有一个查询

SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'";

现在我必须从另一个有 foodjoint_id 归档的表中选择所有信息

SELECT * from menu_item where foodjoint_id = THOSE ID

我必须加入这两个查询

4

4 回答 4

2
SELECT i.menu_item 
FROM menu_item i 
JOIN provided_food_joints pfj 
ON (pfj.id = i.foodjoin_id)
WHERE i.foodjoin_id = 5

这基本上就是连接语句的工作方式。查看本教程以获取有关不同类型连接的更多信息

在您的情况下 - 正如最低点所建议的那样 -JOIN陈述会更有用。

于 2012-05-30T08:45:41.507 回答
1

您可以在您的条件中使用 IN 子句:

SELECT * from menu_item where foodjoint_id IN (
    SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'");
于 2012-05-30T08:45:46.187 回答
1

尝试这个

SELECT * from menu_item where foodjoint_id in( SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'")
于 2012-05-30T08:45:59.613 回答
0
SELECT * FROM menu_item WHERE foodjoint_id = (SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'");

希望这是你的要求?或具体说明问题

于 2012-05-30T08:46:14.387 回答