SQL加入查询

时间:2012-05-30 08:42:24

标签: mysql sql join

我有一个查询

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

现在,我必须从另一个包含foodjoint_id字段的表中选择所有信息

SELECT * from menu_item where foodjoint_id = THOSE ID

我必须加入这两个查询

4 个答案:

答案 0 :(得分: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

这基本上是连接语句的工作原理。 查看this tutorial以获取有关不同类型联接的更多信息

在您的情况下 - 正如nadirs所建议的那样 - JOIN语句会更有用。

答案 1 :(得分:1)

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

SELECT * from menu_item where foodjoint_id IN (
    SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'");

答案 2 :(得分:1)

试试这个

SELECT * from menu_item where foodjoint_id in( SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'")

答案 3 :(得分:0)

SELECT * FROM menu_item WHERE foodjoint_id = (SELECT foodjoint_id FROM provider_food_joints WHERE foodjoint_name='".$foodjoint_name."'");

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