У меня есть таблица платежей за работу, и при сопоставлении с транзакциями необходимо сопоставлять платежи в тот же день для того же клиента, которые равны одной транзакции за этот день.Мне удалось сопоставить, но я возвращаю только агрегированное итоговое значение, а не каждую строку.
Я понимаю, что требуется объединение, но я не смог сделать это правильно.
Где яam at:
$groupmatches = $con->query("
SELECT j1.*, j2.*
FROM jobs AS j1
JOIN (SELECT jobs.jobid, payments.paymentamount, payments.paymentjobno, COUNT(*) AS count
FROM (jobs LEFT JOIN payments ON payments.paymentjobno = jobs.jobid)
WHERE payments.paymentdate = '$dt' AND (payments.paymenttype = 1 OR payments.paymenttype = 2 OR payments.paymenttype = 4)
GROUP BY jobs.chargeto
HAVING SUM(payments.paymentamount) = '$at' AND COUNT(*) > 1) AS j2
ON j1.jobid = j2.paymentjobno;
");
Он сопоставляет и возвращает одну строку со значением подсчета количества строк, добавленных к совпадению, но я не могу вернуть каждую из этих строк.Что я делаю не так?