LEFT JOIN с СУММ не работает - PullRequest
       10

LEFT JOIN с СУММ не работает

1 голос
/ 10 января 2011

в надежде получить руку с проблемой 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

Ответы [ 3 ]

4 голосов
/ 10 января 2011

Используйте ключевое слово 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 голосов
/ 10 января 2011

Вы пропустили закрывающую скобку в 'SUM(totalBilled' там?

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

И мне интересно, зачем вам нужен JOIN, если оба поля месяца tsm_finance_invoices имеют значения, аналогичные tsm_finance_calendar.month?

0 голосов
/ 10 января 2011

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

и ты забыл закрыть пареню ^

...