2011-01-10 220 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?