MySQL |从另一个表中选择数据

时间:2017-06-05 19:59:33

标签: mysql select

我正在尝试使用外键来设置一个系统,我可以在这里引用此表来获取友好名称,而不是使用api中的id。

目前,我已经设置了这样......

| id | friendly_name
| 1  | starters  
| 2  | desserts

我还有另一张这样的桌子......

| id | type | price | desc
| 1  | 1    | 3.99  | This is the desc

我想在api中使用类型来引用,所以我有/api/menu/{id}/{type},但我希望它像/api/menu/1/starters一样写。

我目前正在尝试此代码,但它正在返回数据库中的每个项目

SELECT
   m.item,
   m.description,
   m.price
FROM
   menu m,
   types t   
WHERE
    m.restaurant_id = :restaurant_id
AND 
    t.id = :type

1 个答案:

答案 0 :(得分:1)

您需要为加入添加ON条款,并且需要type.friendly_name选择而不是type.id

SELECT
   m.item,
   m.description,
   m.price
FROM
   menu m INNER JOIN types t ON m.type = t.id  
WHERE
   m.restaurant_id = :restaurant_id
   AND 
   t.friendly_name= :type