SQL是否在日期之间加入条件准则?

时间:2018-10-17 14:03:46

标签: sql sql-server reporting-services

我正在撰写一份报告,以确定历史上这些商品的平均售价与这些商品的标价相比。

我可以从值输入表中获得所有实际的销售价格。

“定价”系统位于“销售价格”表中。

棘手的部分是价格变化,因此给定项目的标价会根据项目的销售日期而有所不同。因此,要准确地报告这种情况,我需要确定销售当天的标价。

幸运的是,“销售价格”表具有价格的开始日期和结束日期。

因此,我试图确定如何将销售价格表加入到值输入表中,在该表中,商品的销售日期介于销售价格表中某行的开始日期和结束日期之间

EX

Item No    List Price     Start Date    End Date
1001       $1.00          01-01-18      02-28-18
1001       $1.25          03-01-18      05-31-18
1001       $1.50          06-01-18      08-31-18

商品1001于01-21-18出售如何获得1.00美元的价格才能正确加入?

2 个答案:

答案 0 :(得分:0)

您可以使用以下查询:

select * from table t where '01-21-18' >= t.startdate and '01-21-18' <= t.enddate   and t.item_no = 1001

答案 1 :(得分:0)

外部联接应该这样做:

select
    o.*,
    p.list_price
  from orders o
  left join sales_price p on p.item_no = o.item_no
    and o.sales_date between p.start_date and p.end_date