一年的前10周

时间:2019-12-03 07:26:25

标签: sql sql-server tsql week-number

针对SELECTSales.Orders表写一个Sales.OrderDetails语句 并检索 productid 列的所有不同值。

过滤结果以仅包括在 一年的前10周 2007年下的订单。

我在过滤部分遇到了麻烦。

我尝试过的:

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';

2 个答案:

答案 0 :(得分:0)

尝试一下:

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')

答案 1 :(得分:0)

您想要一个where子句来过滤日期。然后,您只想选择产品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');