MySQL SELECT SUM на основе другой таблицы (Другой случай)

0

Продолжайте мой последний вопрос раньше. Но теперь я добавляю некоторые условия ниже:

В соответствии с рабочим кодом запроса:

SELECT
R.budgetid_fk,
SUM(R.quantity),
SUM(R.quantity * I.price * COALESCE(CC.amount,1)) as total, 
B.budgetid,
B.budget_month
FROM tb_pro_request R 
INNER JOIN tb_items I 
  ON R.itemid_fk = I.itemid
INNER JOIN tb_budgets B 
  ON R.budgetid_fk = B.budgetid 
  AND B.active = 'Y'
LEFT JOIN tb_currency_converters CC 
  ON CC.from_currencyid_fk = I.currencyid_fk 
  AND CC.to_currencyid_fk = B.currencyid_fk
WHERE
    R.investmentid_fk = '' 
    AND (
      R.approval_status = 'P' 
      OR R.approval_status = 'A'
    ) 
    AND DATE_FORMAT(B.budget_month,'%Y-%m') = '2018-03' 
    AND B.departmentid_fk = 'DP0002'
GROUP BY R.budgetid_fk;

По этому коду, он получит общую сумму SUM от некоторой колонки.

requestid      | budgetid_fk    | category  | itemid_fk | quantity | currencyid_fk | price | discount | userid_fk
RQ201803000001 | BU201803000002 | Item      | IT0001    |          |       |
RQ201803000002 | BU201803000002 | Project   |           | 20       | CU0002 | 750 | 10 | US0004

Теперь мне нужно добавить дополнительный код для расчета проекта категории (RQ201803000002)

цена накапливается с

SUM(R.quantity * I.price * COALESCE(CC.amount,1)) as total

Логика:

(quantity * (price * currency)) - discount as total2

*need to convert the currency first
*get department from userid_fk

Затем аккумулируйте его

total + total2

Вы можете увидеть скрипт sql здесь

  • 0
    какая единица скидки? (нам тоже нужно поменять валюту?)
  • 0
    Каков ваш запрос до сих пор? Объясните, как именно получить скидку и где вы застряли.
Теги:

1 ответ

0

Я думаю, вы просто хотите этого (если только discount пришла за другой стол?):

SUM(R.quantity * (I.price - discount) * COALESCE(CC.amount,1)) as total
  • 0
    Посмотрите, пожалуйста, на таблицу tb_pro_request цена не берется из tb_items, а из той же таблицы tb_pro_request
  • 0
    Любое обновление, сэр?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню