Как суммировать столбец "AS" в запросе mysql? - PullRequest
0 голосов
/ 05 июля 2018

Мне нужна СУММА в колонках AS "прибыль" и "buy_price". Я пробовал несколько вещей группировать по stock.id и т. Д., Но это не дает мне тот же ответ. пожалуйста, дайте мне знать, как взять их сумму.

SELECT
    jobc_consumble.Stock_id,
    jobc_consumble.issued_qty,
    jobc_consumble.total,
    p_purch_stock.Price,
    p_purch_stock.Price * jobc_consumble.issued_qty AS "purch_price",
    jobc_consumble.total -(SELECT   purch_price) AS "profit"

FROM
    jobc_consumble
INNER JOIN p_purch_stock ON jobc_consumble.stock_id = p_purch_stock.stock_id
WHERE
        DATE_FORMAT(
        jobc_consumble.issue_time,
        '%Y-%m-%d'
    ) BETWEEN '2018-07-03' AND '2018-07-03'

Вывод должен быть примерно таким: image

Я хочу сумму последних двух столбцов.

сумма прибыли: 1105

сумма покупки_цена: 11000

1 Ответ

0 голосов
/ 05 июля 2018

Просто повторите логику в вашем SELECT предложении:

SELECT
    j.Stock_id,
    j.issued_qty,
    j.total,
    p.Price,
    p.Price * j.issued_qty AS purch_price,
    j.total - (p.Price * j.issued_qty) AS profit
FROM jobc_consumble j
INNER JOIN p_purch_stock p
    ON j.stock_id = p.stock_id
WHERE
    DATE_FORMAT(j.issue_time, '%Y-%m-%d') = '2018-07-03';

Для некоторых заметок единственной альтернативой повторению логики закупочной цены будет упаковка текущего запроса в качестве подзапроса и повторное использование псевдонима. Но это, вероятно, не будет слишком быстрым. Ваше выражение DATE_FORMAT не имеет особого смысла, потому что диапазон всего один день. Если вам не нравится моя версия, дайте нам знать, какую логику вы действительно намеревались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...