【发布时间】:2019-05-15 06:36:19
【问题描述】:
如果值满足特定条件,是否可以将同一列中的某些值相乘,但不能将其他值相乘?我不想再创建一个列。
我正在处理的查询:
SELECT
name ,
ROUND(SUM(orderline_sales.amount * orderline_sales.price) * orders_sales.discount * customers.annual_discount) AS total_revenue
FROM
orderline_sales
JOIN
orders_sales ON orders_sales.id = orderline_sales.orders_sales_id
JOIN
employee ON orders_sales.empoyee_id = employee.id
JOIN
customers ON orders_sales.customer_id = customers.id
WHERE
date BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 365 DAY) AND CURRENT_DATE
GROUP BY employee.name
ORDER BY totale_omzet DESC
LIMIT 1;
orders_sales 表包含一个日期属性类型,orders_sales 表与 orderline_sales 具有 1:n 基数关系。如果订单的年份高于 2017 年,我只想将 SUM 结果与customers.annual_discount 相乘。我该怎么做?
【问题讨论】: