如何在mysql查询中合计“as”列?

7tofc5zh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(316)

我需要“利润”和“采购价格”的总和。我尝试了几件事情组股票等,但它不是给我相同的答案。请告诉我如何计算他们的总数。

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'

输出应该是这样的:

我要最后两列的和。
利润总额:1105
采购总价:11000

iih3973s

iih3973s1#

重复你的逻辑 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';

对于某些注解,重复购买价格逻辑的唯一替代方法是将当前查询 Package 为子查询并重用别名。但是,这可能不会太有效。你的 DATE_FORMAT 表达式没有多大意义,因为范围只是一天。如果你不喜欢我的版本,那么让我们知道你真正想要的逻辑。

相关问题