一年的前 10 周
First 10 weeks of a year
针对 Sales.Orders
和 Sales.OrderDetails
表编写 SELECT
语句
并检索 productid 列的所有不同值。
过滤结果以仅包含 2007 年 前 10 周的订单。
我在过滤部分遇到了问题。
我尝试过的:
select * from Sales.Orders o
join Sales.OrderDetails d
on o.orderid=d.orderid
group by o.productid
having orderdate between '2017-01-01' and '2017-03-12';
试试这个:
DATEADD 函数将为您提供 10 week(70 days)
的值。
select *
from Sales.Orders o
join Sales.OrderDetails d on o.orderid=d.orderid
WHERE orderdate >= '2017-01-01' and orderdate <= DATEADD(DAY,70,'2017-01-01')
您需要 where
子句来过滤日期。那么您只想 select 产品 ID:
select distint od.productid
from Sales.Orders o join
Sales.OrderDetails od
on o.orderid = d.orderid
where o.orderdate >= '2017-01-01' and
o.orderdate < dateadd(week, 11, '2017-01-01');
针对 Sales.Orders
和 Sales.OrderDetails
表编写 SELECT
语句
并检索 productid 列的所有不同值。
过滤结果以仅包含 2007 年 前 10 周的订单。
我在过滤部分遇到了问题。
我尝试过的:
select * from Sales.Orders o
join Sales.OrderDetails d
on o.orderid=d.orderid
group by o.productid
having orderdate between '2017-01-01' and '2017-03-12';
试试这个:
DATEADD 函数将为您提供 10 week(70 days)
的值。
select *
from Sales.Orders o
join Sales.OrderDetails d on o.orderid=d.orderid
WHERE orderdate >= '2017-01-01' and orderdate <= DATEADD(DAY,70,'2017-01-01')
您需要 where
子句来过滤日期。那么您只想 select 产品 ID:
select distint od.productid
from Sales.Orders o join
Sales.OrderDetails od
on o.orderid = d.orderid
where o.orderdate >= '2017-01-01' and
o.orderdate < dateadd(week, 11, '2017-01-01');