我有一個MySQL連接查詢效果很好(免責聲明:從教程中獲得):忽略在MySQL空結果JOIN查詢
<?php
$connection = mysql_connect("localhost", "root", "test") or die("Error connecting to database");
mysql_select_db("products90", $connection);
$result = mysql_query("SELECT * FROM buyers LEFT JOIN products USING (id);", $connection) or die("error querying database");
$i = 0;
while($result_ar = mysql_fetch_assoc($result)){
?>
<table>
<tr <?php if($i%2 == 1){ echo "class='body2'"; }else{echo "class='body1'";}?>>
<td>
<?php echo $result_ar['buyer_name']; ?></td>
<td>
<?php echo $result_ar['manufacturer']; ?>
</td>
<td>
<?php echo $result_ar['product_name']; ?>
</td>
</tr>
</table>
<?php
$i+=1;
}
?>
然而,如果我想它忽略NULL結果,我需要怎樣處理JOIN,哪種類型是合適的?
我看了一下Google,但不確定從哪裏開始。
謝謝,但如果我有兩個值 - products.id和product_name列 - 我只是得到「錯誤查詢數據庫」消息。 – avenas8808
好吧,您應該只在必要時執行LEFT JOIN,因爲查詢優化器無法優化它們(順序對於LEFT JOIN很重要)。所以你應該用第二個查詢 – wonk0
@ avenas8808來代替使用'或die(mysql_error())',它會輸出準確的錯誤。 –