Нужны данные из пары таблиц в mysql с помощью соединения или подзапроса

#php #mysql #sql #select #join

#php #mysql #sql #выберите #Присоединиться

Вопрос:

Я написал ниже запрос в MYSQL :

 SELECT ab.id, ab.name, creditAmt, debitAmt, creditAmt-debitAmt balance FROM ab
            JOIN (select sum(credit_amt) creditAmt from pq) i
            JOIN (select sum(debit_amt) debitAmt from pq) e
            WHERE ab.type = 'user' GROUP BY ab.user_eid
  

Ниже приведена моя структура таблицы для ab :

введите описание изображения здесь

Ниже приведена моя структура таблицы для pq :

введите описание изображения здесь

Я хочу показать общий баланс, доступный как для ab.ID .

Ответ №1:

Вместо подзапросов более интуитивным подходом было бы объединение и группирование по учетной записи. Обратите внимание, что вам нужно будет рассматривать кредит как положительное число, а дебет как отрицательный:

 SELECT   ab.name, SUM(pq.credit - pq.debit) AS balance
FROM     ab
JOIN     pq ON ab.id = pq.ab_id
GROUP BY ab.name