简体   繁体   English

使用内部联接查询显示2合1表

[英]show 2 table in 1 using inner join query

Hey guys i want to show a table so that table have 2 foreign keys.My food and restaurant table have name column.i tried following codes but i dont know how to show restaurant name and food name different. 大家好,我想显示一个表,以便该表具有2个外键。我的食品餐厅表具有名称 column.i尝试使用以下代码,但我不知道如何显示餐厅名称和食品名称。

$sql_select_food = "SELECT food.id,restaurant.name,food.name,food.restaurant_id,foodcategory.title from food INNER join foodcategory ON food.foodcategory_id=foodcategory.id INNER join restaurant ON food.restaurant_id=restaurant.id WHERE food.isActive = 1 ORDER BY food.updateDate DESC";
$result_select_food = mysqli_query($connection, $sql_select_food);
if (mysqli_num_rows($result_select_food) > 0) {
      while ($row_select_food = mysqli_fetch_assoc($result_select_food)) {
                        echo "
                            <tr>
                                <td>$row_select_food[name]</td>
                                <td>$row_select_food[name]</td>
                                <td>$row_select_food[title]</td>
                            </tr>
                ";
                    }
                }

Use column aliases: 使用列别名:

SELECT food.id AS food_id, restaurant.name AS restaurant_name, food.name AS food_name ...

Then 然后

  • $row_select_food['restaurant_name'] is the name of the restaurant, $row_select_food['restaurant_name']$row_select_food['restaurant_name']的名称,
  • $row_select_food['food_name'] is the name of the food, $row_select_food['food_name']是食物的名称,
  • etc. 等等

Note: AS keyword is optional. 注意: AS关键字是可选的。

Put an alias to the column name and call it later in the code as a column name like : 在列名上放置一个别名,然后在代码中稍后以列名的形式调用它:

$sql_select_food = "SELECT food.id,restaurant.name as rname, food.name as fname, food.restaurant_id,foodcategory.title from food INNER join foodcategory ON food.foodcategory_id=foodcategory.id INNER join restaurant ON food.restaurant_id=restaurant.id WHERE food.isActive = 1 ORDER BY food.updateDate DESC";
$result_select_food = mysqli_query($connection, $sql_select_food);
if (mysqli_num_rows($result_select_food) > 0) {
      while ($row_select_food = mysqli_fetch_assoc($result_select_food)) {
                        echo "
                            <tr>
                                <td>$row_select_food[rname]</td>
                                <td>$row_select_food[fname]</td>
                                <td>$row_select_food[title]</td>
                            </tr>
                ";
                    }
                }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM