Как сгруппировать столбцы в MySQL на основе разных условий - PullRequest
0 голосов
/ 19 мая 2019

У меня есть одна таблица, в которой есть данные авансовых денег, которые берут сотрудники. Таким образом, есть два типа: Кредит и Дебет, Кредит - это когда мы даем сотруднику аванс, Дебет - когда мы вычитаем сумму из зарплаты сотрудника. поэтому мне нужен один запрос, в котором я могу увидеть полученный аванс, ожидающий аванс для каждого сотрудника.

Я пытался выполнить concat и group concat, но не смог получить нужный мне запрос.

SELECT *
FROM themefoods.advance_transaction;

select sum(amount) as amountTaken, employee_id, type_of_advance 
from advance_transaction
group by employee_id, type_of_advance;

Ожидаемый результат - таблица со столбцами. Я бы; amount_taken; advance_pending; employee_id

Прикрепление таблицы образцов.

Table view of the advance table.

1 Ответ

0 голосов
/ 19 мая 2019

Вы, похоже, ищете условную агрегацию:

select employee_id, 
       sum(case when type_of_advance = 'Credit' then amount else 0 end) as credit_amount,
       sum(case when type_of_advance = 'Debit' then amount else 0 end) as debit_amount,
from advance_transaction
group by employee_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...