Я пытаюсь создать отчет, в котором будут показаны клиенты, у которых есть непогашенный остаток на счете, но я не могу заставить его работать, используя левое соединение.Mysql Left Join with Sum Criteria
У меня есть 3 таблицы - клиенты, покупки и платежи, и я пытаюсь показать клиентов, общая стоимость покупки меньше платежей больше 0.
До сих пор, у меня есть следующий запрос:
mysqli_query("SELECT customers.name as name, SUM(purchases.cost) as cost, SUM(payments.paymentamount) as payments FROM customers
LEFT JOIN purchases ON purchases.customerid = customers.id
LEFT JOIN payments ON payments.customerid = customers.id
WHERE (cost - payments) > 0
GROUP BY customers.id");
Может ли кто-нибудь понять, почему это не работает?
Спасибо за помощь!
Thanks JW. У меня почти все работает, когда я пытаюсь отображать результаты, используя while ($ row1 = mysqli_fetch_assoc ($ q1)), тогда $ row1 ['totalPurchase'] и $ row1 ['totalPayment'] возвращают 0. Любые идеи? – mckeegan375
он вернет '0', когда у клиента нет записей в таблице« Покупки »или« Платежи ». Можете ли вы дать образцы записей? ':)' –
Спасибо. Я не уверен, как отправлять отрывки, но вы правы - во многих случаях клиенты всегда будут покупать, но могут совершать какие-либо платежи. Тем не менее, мой отчет показывает 0 для всех клиентов по покупкам и платежам, даже если у них есть экземпляры обоих. Благодаря! – mckeegan375