2011-01-10 144 views
1

希望我能得到一個左手JOIN + SUM問題我有。LEFT JOIN與SUM不工作

背景:我正在建立一個財務系統,並且要計算給定月份內所有發票的價值(空白月份=空)。我有兩個表格:

tsm_finance_calendar - 包含'個月'。 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 />"; 
} 
?> 

輸出是在正確的軌道上(月 - $ 空白),但缺乏和的結果。

任何幫助獲得一個巨大的擊掌:)

感謝, RR

回答

4

使用as關鍵字查詢

$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正在輸入相同的東西。 – 2011-01-10 06:36:34

0

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

,你忘了關閉括號                                               ^

0

沒有ü錯過一個右括號中'SUM(totalBilled'呢?

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

我不知道爲什麼你需要一個連接有如果兩個tsm_finance_invoices月份場具有相似價值觀tsm_finance_calendar.month?