Как я могу получить только дебиторами и кредиторами управляемых с action_type ДР и ПР
Я создал балансовую систему с помощью PHP MYSQLi. Где администратор может управлять информацией об учетной записи клиента. Теперь я хочу получить только ДОЛЖНИКИ и только КРЕДИТОРЫ. Я управляю обеими записями, используя поле action_type 'dr' или 'cr'.
Ниже приведен URL-адрес SQLFiddle:
Попробовал SQL:
Только Должники: http://www.sqlfiddle.com/#!9/badc3f/26
Только Кредитор: http://www.sqlfiddle.com/#!9/badc3f/27
Проблема с получением результатов группировка по area_id
URL-АДРЕС: http://www.sqlfiddle.com/#!9/badc3f/31
Что я уже пробовал:
Получают Только Должники:
SELECT client_id, area_id, SUM(CASE WHEN action_type='dr' THEN amount END) total_debits, SUM(CASE WHEN action_type='cr' THEN amount END) total_credits, SUM(CASE WHEN action_type='cr' THEN amount END) - SUM(CASE WHEN action_type='dr' THEN amount END) total_debtors, CASE WHEN SUM(CASE WHEN action_type='cr' THEN amount END) - SUM(CASE WHEN action_type='dr' THEN amount END) > 0 THEN 'dr' ELSE 'cr' END balance FROM tbl_balancesheet GROUP BY client_id, area_id HAVING balance = 'dr'
Получить только кредиторов:
SELECT client_id, area_id, SUM(CASE WHEN action_type='dr' THEN amount END) total_debits, SUM(CASE WHEN action_type='cr' THEN amount END) total_credits, SUM(CASE WHEN action_type='cr' THEN amount END) - SUM(CASE WHEN action_type='dr' THEN amount END) total_debtors, CASE WHEN SUM(CASE WHEN action_type='cr' THEN amount END) - SUM(CASE WHEN action_type='dr' THEN amount END) > 0 THEN 'dr' ELSE 'cr' END balance FROM tbl_balancesheet GROUP BY client_id, area_id HAVING balance = 'cr'
Как вы можете видеть выше, оба запроса работают нормально. Но моя главная проблема с area_id. Когда я использую
GROUP BY area_idодна запись кредитора отсутствует в запросе результата единственного кредитора.
Пожалуйста, помогите нам.
Спасибо.