#mysql #sql
Вопрос:
У меня есть sql-запрос, основанный на 2 идентификаторах в одной таблице, результаты суммы получены правильно, но проблема в том, что group by не может обрабатывать данные, которые появляются 2 раза
SELECT coa_a.debet_april,coa_a.namacoaapril, coa_b.kredit_april ,coa_b.namacoaapril
FROM `t_jurnalumum` join coa on coa.m_coa_4_id=t_jurnalumum.IdDebet
join (select DISTINCT m_coa_4_id, sum(a.Nilai) as debet_april, coa.namacoa as namacoaapril
from t_jurnalumum a j
join coa on a.IdDebet=coa.m_coa_4_id
where year (a.Tanggal)=2021 and month (a.Tanggal)=4
GROUP by a.IdDebet ) as coa_a on coa_a.m_coa_4_id=t_jurnalumum.IdDebet
join (select DISTINCT m_coa_4_id, sum(b.Nilai) as kredit_april, coa.namacoa as namacoaapril
from t_jurnalumum b
join coa on b.IdKredit=coa.m_coa_4_id
where year (b.Tanggal)=2021 and month (b.Tanggal)=4
GROUP by b.IdKredit ) as coa_b on coa_b.m_coa_4_id=t_jurnalumum.IdKredit
GROUP by coa_b.namacoaapril, coa_a.namacoaapril
Ответ №1:
Это потому, что вы используете одну и ту же таблицу. Первый подзапрос соединения даст вам отличное значение от первой группы по, а вторая группа по дает отличное значение. И в конце вы также сгруппировали весь результат. Первый дает два разных значения, а второй дает два разных значения, которые в конечном итоге дают все значения.
Комментарии:
1. вы можете исправить мой запрос ? или что — то посоветуете, чтобы мой запрос работал правильно ?