运行 2 SQL select 语句

running 2 SQL select statements

我正在尝试 运行 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"];         
}                       

您可以更改请求:

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'

尝试使用 LEFT JOIN

$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."'"
);