php - MySQL结合了几个select语句

标签 php mysql sql select

想知道如何/是否可以组合这两个 select 语句。

        $searchCat = $mysqli->query("SELECT category_id, category.name FROM category WHERE category.name = '$searchTerm'");

    while ($r=$searchCat->fetch_assoc()) {
        $category_id=$r["category_id"];

        $searchBus = $mysqli->query("SELECT business.name, business.street FROM business WHERE business.category_id = '$category_id'");             

        while ($r=$searchBus->fetch_assoc()) {
            $name=$r["name"];
            $street=$r["street"];

            echo "$name, $street<br>";
        }
    } // end of while

对于输出,我只需要 Business 表中的数据,第一个 select 找到搜索词的相关 ID,该 Id 也包含在 Business 表中。

那么我可以在第一个选择获取 id 然后将其传递给第二个选择的情况下执行连接或合并,从而允许我跳过第一个 While 吗?

最佳答案

你也可以把它做成单个查询。

$query = "SELECT `business`.`name`, `business`.`street` 
          FROM `business`, `category` 
          WHERE 
             `business`.`category_id` = `category`.`category_id` 
              AND 
             `category`.`name` = '$searchTerm'";

$searchBus = $mysqli->query($query);

关于php - MySQL结合了几个select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40290745/

相关文章:

sql - Oracle 12c 解析函数

php - mysql从多值属性中选择数据

php - 有没有一种方法可以使用没有前导空格的 `strftime` 来显示日期?

MySQL:删除所有超过 10 分钟的行

php - 使用 "WHERE field < NUM"在 MySQL 中加入表

php - 如何使用 php system() 函数正确运行 mysql 命令?

java - 读取输入消息时出现 I/O 错误;嵌套异常是 java.io.IOException : Stream closed

php - 如何使用 php 创建一个 8 或 16 个字符的 uuid?

php - 为什么我创建的缩略图的文件大小比原始图像大?

php - 查询数据并排列数据 Laravel