编写一个SQL查询,该查询确定并显示从2015年初到2018年底的已售商品总价(总销售额)。使用单引号提供汇总别名。
我可以拉开没有日期的总销售额。我不知道如何指定我只希望2015年至2018年之间的总销售额
Select sum(item.ItemPrice) as `Total Sales`
from customer, petshop_order, petshop_order_item, item
where petshop_order.order_date between `2015-01-01` and `2018-12-31`
And (customer.ssn=petshop_order.ssn
And petshop_order.OrderNo = petshop_order_item.OrderNo
And petshop_order_item.SKU=item.SKU);
错误代码:“ where子句”中的1054个未知列“ 2015-01-01”
答案 0 :(得分:0)
使用反引号的单引号'
,即带有日期输入的`。用单引号更新您的查询,它应该可以工作。
答案 1 :(得分:0)
您的查询似乎比需要的要复杂得多。您正在引用似乎不必要的表:
select sum(i.ItemPrice) as Total_Sales
from petshop_order po join
petshop_order_item poi
using (OrderNo) join
item i
using (SKU)
where po.order_date >= '2015-01-01' and
po.order_date < '2019-01-01';
注意:
JOIN
语法。customer
表。between
安全,因为该代码适用于带有和不带有时间成分的日期。Total_Sales
,因此无需转义列别名。哦,这可以解决单引号引起的问题。