2011-01-10 28 views
1

LEFT JOIN + SUMの問題が発生している可能性があります。LEFT JOINでSUMが動作しない

バックグラウンド:私は財務システムを構築しており、指定された月内のすべての請求書(ブランク月= null)の価値を計算したいと考えています。私は2つのテーブルを持っています:

tsm_finance_calendar - 'months'を含んでいます。 tsm_finance_invoices - 各請求書の詳細が含まれています。

マイクエリ:

<?php 
$query = "SELECT tsm_finance_calendar.month, 
       SUM(tsm_finance_invoices.totalBilled) 
      FROM tsm_finance_calendar 
      LEFT JOIN tsm_finance_invoices 
       ON tsm_finance_calendar.month = tsm_finance_invoices.month 
      GROUP BY tsm_finance_calendar.month 
      ORDER BY 'id'"; 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)){ 
echo $row['month']. " - $". $row['SUM(totalBilled']; 
echo "<br />"; 
} 
?> 

出力は、右のトラック(月 - $ 空白)であるが、和の結果を欠いています。

すべてのヘルプは、巨大な高5 :)

おかげで、 RR

答えて

4

クエリ

$query = "SELECT tsm_finance_calendar.month, SUM(tsm_finance_invoices.totalBilled) as sum FROM tsm_finance_calendar LEFT JOIN tsm_finance_invoices ON tsm_finance_calendar.month = tsm_finance_invoices.month GROUP BY tsm_finance_calendar.month ORDER BY 'id'"; 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)){ 
echo $row['month']. " - $". $row['sum']; 
echo "<br />"; 
} 
+0

+1は同じものを入力していました。 –

+0

ありがとう!ハイ5があなたのやり方に向かった。 – rrfive

0

$row["month"]-$row["SUM(totalBilled)"]

を取得し、あなたは括弧                       を閉じるのを忘れて                       ^

0

asキーワードを使用しますuがそこ'SUM(totalBilled'に閉じ括弧を欠場しましたか?

echo $row['month']. " - $". $row['SUM(totalBilled']; 

そしてtsm_finance_invoicesの月フィールドの両方がtsm_finance_calendar.monthと同様の値をしている場合は、そこにJOINを必要とする理由かしら?