2012-06-11 116 views
1

嗨,大家好我試着去改善我有更好的表現查詢字段是有可能寫這個查詢更好的方式感謝了很多你的幫助MySQL的PHP​​減去2個從2個表提高查詢

$query = " SELECT A FROM out_org where zone_id='1'"; 
$query2 = " SELECT A FROM out_dis where zone_id='1'"; 

$result = mysql_query($query); 
$result2 = mysql_query($query2); 

echo "<table border=1 style='background-color:#F0F8FF;' >"; 
echo "<caption><EM>my table</EM></caption>"; 
echo "<tr>"; 
echo "<th>" .OA. "</th>" ; 
echo "<th>" .DA. "</th>"; 
echo "<th>" .total. "</th>"; 
echo "</tr>"; 

while($row = mysql_fetch_array($result) ) 
{ 
    while($row2 = mysql_fetch_array($result2)){ 
     echo "<tr>";   
     echo "<td>" .$row['A']."</td>"; 
     echo "<td>" .$row2['A']."</td>"; 
     echo "<td>" .$total = $row['A'] - $row2['A']."</td>";   
     echo "</tr>";   
    } 
    echo "</table>"; 
} 
+1

請不要使用'mysql_ *'函數獲取新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是很好的PDO教程](http://goo.gl/vFWnC)。 –

回答

0

更改SQL來一個使用連接的查詢並在查詢中執行減法:

$query = "SELECT (o1.A - o2.A) as value 
      FROM out_org o1 
       LEFT JOIN out_dis o2 
       ON o1.zone_id = o2.zone_id 
      WHERE o1.zone_id='1'"; 
+0

非常感謝,但我有一個問題,我只有30行如何結果出來900rows你有什麼想法是什麼問題 – user961885

+0

嘗試改變它從'LEFT JOIN'到'INNER JOIN'或只是'JOIN'。 – nickb

+0

仍然結果出來900rows – user961885