2
我有4个百万行我的表中有一个空白栏要求取消预订分为3个年份2010,2011和2012年更新列细胞%
Booking_Skey BookingNumber ArrivalDate DepartureDate BookingDate CancelledDate BookingValue PitchType_Skey Site_Skey
124532 B00124532 2010-12-31 2011-01-02 2010-12-31 NULL 10.00 7 2
我需要做的是建立一个什么代码,我可以改变取消指令的%,为一年,我想更新:
所以2010年我必须满足下列条件
--Cancelled Bookings--
- 在2010年取消总预订的8%,取消日期可以等于或少于抵达日期并等于或大于预订日期
- 8%的20%取消同一天,到达日期 的8%
- 20%的到达日期之前取消了一天 的8%
- 20%的到达日期
- 的取消的其余部分是前7天内取消随机在1至90天之间
。
USE Occupancy
SELECT ArrivalDate,
DATEADD(day,
CASE WHEN Rand(CHECKSUM(NEWID())) BETWEEN 0 and 0.92 THEN NULL ELSE
CASE WHEN Rand(CHECKSUM(NEWID())) BETWEEN 0.92 and 0.94 THEN 0 ELSE
CASE WHEN Rand(CHECKSUM(NEWID())) BETWEEN 0.94 and 0.96 THEN -1 ELSE
CASE WHEN Rand(CHECKSUM(NEWID())) BETWEEN 0.96 and 0.98 THEN -7 ELSE
Round(Rand(CHECKSUM(NEWID())) * -90,0) END END END END, ArrivalDate) AS DaystoReduce
FROM Bookings
WHERE DATEPART(Year,ArrivalDate) = '2010' and CancelledDate BETWEEN ArrivalDate AND DepartureDate
你能帮忙吗?
感谢
韦恩
这是一个单关闭活动支持测试或类似? – chrisb 2013-02-21 16:47:42
嗨克里斯,是的。 – wafw1971 2013-02-21 16:51:19