【发布时间】:2015-05-20 13:57:58
【问题描述】:
我有一个名为 HotelRate 的简单表
HID | START_DATE | END_DATE | PRICE_PER_DAY
--------------------------------------
1 01/1/2015 10/1/2015 100
1 11/1/2015 20/1/2015 75
1 21/1/2015 30/1/2015 110
如果用户查询5/1/2015 到25/1/2015 之间的总价格,计算酒店房间价格的最简单方法是什么。
我已经检查过:
但这对我来说没有多大意义。
我尝试了几个查询,但这些查询似乎是在盲目地击中箭头。有人可以建议我一个简单而优雅的方法吗?
@JamesZ
在运行第一个查询时我得到
start_date end_date duration price_per_day
---------- ---------- ----------- -------------
2015-01-01 2015-01-10 5 100
2015-01-11 2015-01-20 9 75
2015-01-21 2015-01-30 4 110
第一个范围5 可以,第二个范围应该是10,第三个应该是5
如何计算天数:start 和 end 日期之间的总夜数,与天数差异相同
05-Jan-15 06-Jan-15 1 Night
06-Jan-15 07-Jan-15 1 Night
07-Jan-15 08-Jan-15 1 Night
08-Jan-15 09-Jan-15 1 Night
09-Jan-15 10-Jan-15 1 Night
10-Jan-15 11-Jan-15 1 Night
11-Jan-15 12-Jan-15 1 Night
12-Jan-15 13-Jan-15 1 Night
13-Jan-15 14-Jan-15 1 Night
14-Jan-15 15-Jan-15 1 Night
15-Jan-15 16-Jan-15 1 Night
16-Jan-15 17-Jan-15 1 Night
17-Jan-15 18-Jan-15 1 Night
18-Jan-15 19-Jan-15 1 Night
19-Jan-15 20-Jan-15 1 Night
20-Jan-15 21-Jan-15 1 Night
21-Jan-15 22-Jan-15 1 Night
22-Jan-15 23-Jan-15 1 Night
23-Jan-15 24-Jan-15 1 Night
24-Jan-15 25-Jan-15 1 Night
Count : 20 Night
【问题讨论】:
-
这是 MySQL 还是 MS SQL Server?
-
@Mureinik Sql Server
标签: sql sql-server