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