2016-11-30 18 views
1

Я пытаюсь запустить 2 запроса SQL Select для извлечения данных из двух разных таблиц, а затем эхо-поля из обеих таблиц. Код, который я пытаюсь, кажется, не работает, любая помощь будет оценена.running 2 SQL select statements

$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"];   
}      
+0

Почему вы используете союз и не вступать в ModelID? – Fky

+0

Я пробовал искать решение и получил рекомендованный союз –

ответ

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' 
+0

Да, это сработало, спасибо большое –

+0

Отлично, добро пожаловать – Fky

1

попробовать с 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."'" 
);