php - 使用MySQL查询以表形式查询三张表,回显结果

标签 php mysql

我正在寻求帮助。我有 3 个表,我必须从中查询结果。在表模型中,我有 model_idmodel,在表颜色中,我有 colour_idcolour 和在表可用性中,我有 model_idcolour_id。我必须以表格格式回显结果。表格必须显示型号、颜色和可用性。在可用性部分,如果模型有某种颜色可用,则必须显示/返回"is"值,如果没有则显示“否”。这是我当前的代码:

$sql = "SELECT model, colour FROM model, colour";  
   $query = "SELECT * FROM availability";    

   $result = mysql_query($sql);

   $res =mysql_query($query);

 echo "<table border='1'><trbgcolor='#cccccc'><td>Model</td><td>Colour</td><td>Availability</td></tr>";

    while($row = mysql_fetch_array($result))
    {
      $model=$row['model'];
      $colour=$row['colour'];

      echo "<tr><td>$model</td><td>$colour</td>";

      while($row = mysql_fetch_array($res))
      {
        $avail_id=$row['avail_id'];
        $model_id=$row['model_id'];
        $colour_id=$row['colour_id'];
      }


      if($res)
      {
        echo "<td>Yes</td>";
      }
      else
      {
        echo "<td>No</td></tr>";
      }
    } 

  echo "</table>";

最佳答案

SELECT m.model, c.colour, IF(c.colour_id IN (SELECT a.colour_id FROM availability a WHERE a.model_id = m.model_id), "YES", "NO") FROM model m, colour c ORDER BY m.model, c.colour

这应该会给你你想要的结果。只需根据您的喜好设置输出格式即可。

关于php - 使用MySQL查询以表形式查询三张表,回显结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17944047/

相关文章:

javascript - 在外部 Javascript 文件中使用 Ajax 将 Javascript 嵌套数组传递给 PHP

java - 尝试在 select 语句中连接列时出现未找到列异常

mysql - 如何计算具有二进制格式的数字的汉明距离

MySQL总内存分配使用情况?内存泄漏?

MySQL - 如何将别名语法添加到子查询

php - 查询和连接问题

php - 序列化 POST 数组,以便 Cake PHP 可以插入 MySQL 数据库

php - 如何推导出销售效率

php - 如何在 slim 框架 v4 中添加 twig-view

PHP 本地化问题