Сумма и объединение нескольких таблиц MySQL - PullRequest
0 голосов
/ 10 декабря 2018

Добрый день, у меня три таблицы mysql транзакция , other_loan и оплата .Я хочу суммировать столбцы load_amount и дополнительные из транзакции таблицы и суммировать ее в столбец сумму из other_loan и вычитать ее из суммыстолбца payment_amount в платеж таблица.Ниже мой код:

$result = $db->query("
SELECT *
     , (sum(load_amount) + sum(additional) + sum(amount)) - sum(payment) as total 
  FROM transaction
     , other_loan
     , payment
  INNER JOIN client 
    ON client.id=transaction.id 
  INNER JOIN other_loan 
    ON other_loan.id=transaction.id 
  INNER JOIN payment 
    ON payment.id=transaction.id 
 INNER GROUP 
    BY client.id
  ");

Вот мои таблицы: транзакция other_loan оплата

Я показываю результат втаблица, и у меня есть это сообщение об ошибке:

Неустранимая ошибка: Uncaught Ошибка: вызов функции-члена fetch_assoc () для логического

Пожалуйста, помогите.Спасибо.

1 Ответ

0 голосов
/ 10 декабря 2018

Ваш запрос не выполнен (следовательно, $result является логическим false), поскольку у вас есть JOIN редактируемые таблицы other_loan и payment дважды (первый раз с неявным оператором JOIN ,) без псевдонимових.Я подозреваю, что вы на самом деле не хотели этого делать, и ваш запрос должен выглядеть следующим образом:

$result = $db->query("SELECT *, (SUM(load_amount) + SUM(additional) + SUM(amount)) - SUM(payment) as total 
                      FROM transaction
                      INNER JOIN client ON client.id=transaction.id 
                      INNER JOIN other_loan ON other_loan.id=transaction.id 
                      INNER JOIN payment ON payment.id=transaction.id
                      GROUP BY client.id");

Я также подозреваю, что load_amount на самом деле должно быть loan_amount.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...