2012-12-08 12 views
-1

我無法連接兩個查詢一起這些都是我的疑問:加入MySQL的查詢

$sql = "SELECT SourcePath, Description, BikeCode FROM BikeImages order by bikecode"; 
$sql1 = "SELECT BikeCode, Manufacturer, Model, SubType, Year, FrameMaterial, Description, Gender, Type, Price, Stock FROM Bike WHERE Stock > 0"; 
$result = mysqli_query($con, $sql); 
$result1 = mysqli_query($con, $sql1); 

幫助將非常感激,我有一對夫婦的想法,它們連接在一起,如

$result = mysqli_query($sql && $sql1, $con); 

但它似乎沒有工作,我應該如何加入兩個$ sql如果是這樣我會怎麼做?

編輯:表是相關的,因爲我想創建一個while循環,它顯示來自Bike表的所有信息,然後從BikeImages表中獲取與每個BikeCode相關的圖像。

表連接在一起後,我想利用這個代碼來顯示我的信息:

while(list($bikecode, $manufacturer, $model, $subtype, $year, $fmaterial, $desc, $gender, $type, $price, $stock, $sourcepath, $description) = mysqli_fetch_row($result1)) { 
echo "information here 
} 

感謝

+0

如何表有關係嗎?結果是什麼?請顯示一些示例數據。 –

+0

如下面的答案所示,您必須編寫一個包含單個SELECT語句的字符串,這並不像連接到語句那麼簡單。 –

回答

1

你應該考慮使用JOIN這兩個表連接在一起。看來,BikeCode存在兩個表中,所以你應該能夠加入查詢與此類似:

SELECT b.BikeCode, 
    b.Manufacturer, 
    b.Model, 
    b.SubType, 
    b.Year, 
    b.FrameMaterial, 
    b.Description, 
    b.Gender, 
    b.Type, 
    b.Price, 
    b.Stock, 
    i.SourcePath, 
    i.Description 
FROM Bike b 
LEFT JOIN BikeImages i 
    on b.bikecode = i.bikecode 
WHERE b.Stock > 0 
ORDER BY b.BikeCode 

這就允許你返回所有的數據在一個單一的結果。

如果您需要幫助學習連接語法,這裏是一個偉大的visual explanation of joins

+0

對於一個不清楚的問題,這是一個很好的答案! –