我需要AS列“利润”和“购买价格”的总和。我尝试了一些由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'
我想要最后两列的总和。
利润总和:1105
购买价格总和:11000
答案 0 :(得分:0)
只需重复您的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
表达式意义不大,因为范围只是一天。如果您不喜欢我的版本,请告诉我们您真正想要的逻辑。