2016-11-30 34 views
1

我想運行2個SQL選擇查詢以從2個不同的表中檢索數據,然後從兩個表中回顯字段。我正在嘗試的代碼似乎沒有工作,任何幫助將不勝感激。正在運行2個SQL選擇語句

$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

我試着用Google搜索解決方案並得到了推薦的聯盟 –

回答

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