【问题标题】:running 2 SQL select statements运行 2 个 SQL 选择语句
【发布时间】:2016-11-30 15:57:52
【问题描述】:

我正在尝试运行 2 个 SQL Select 查询以从 2 个不同的表中检索数据,然后从两个表中回显字段。我正在尝试的代码似乎不起作用,任何帮助将不胜感激。

$ModelID = $_GET['model_id'];

$result = mysqli_query($con, "SELECT RegNumber, Colour FROM Car WHERE ModelID = '$ModelID'

UNION ALL

SELECT CarModel, CarMake, CostPerDay FROM Model WHERE ModelID = '$ModelID'");   

while($row = $result->fetch_assoc())    
{     
    echo $row["CarModel"];
    echo $row["CarMake"];
    echo $row["CostPerDay"];    
    echo $row["RegNumber"];        
    echo " - " .$row["Colour"];         
}                       

【问题讨论】:

  • 你为什么在 modelId 上使用联合而不是连接?
  • 我尝试谷歌搜索解决方案并得到推荐的工会

标签: php union-all


【解决方案1】:

您可以更改请求:

SELECT c.RegNumber, c.Colour , m.CarModel, m.CarMake, m.CostPerDay FROM Car c INNER JOIN Model m ON m.ModelID=c.ModelID WHERE c.ModelID = '$ModelID'

【讨论】:

    【解决方案2】:

    尝试左连接

    $result = mysqli_query($con, 
       "SELECT c.RegNumber, c.Colour, m.CarModel, m.CarMake, m.CostPerDay 
       FROM Car AS c
       LEFT JOIN Model as m ON c.ModelID = m.ModelID 
       WHERE c.ModelID = '".$ModelID."'"
    ); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      相关资源
      最近更新 更多