我有以下表格,其中包含定義每個期間預訂價格的時間段;SELECT返回總預訂價格
ID, STARTDATE, ENDDATE, PRICE
6, 2012-06-01, 2012-06-30, 20
7, 2012-07-01, 2012-07-31, 35
8, 2012-08-01, 2012-08-31, 30
9, 2012-09-01, 2012-09-30, 25
此表定義定價期(開始和定價時段與預定的價格爲每一天在那個特定的定價時段的結束日期)。問題是如何創建一個查詢,它將在某個給定的預訂期內返回所有天數的預訂總價格?例如,如何計算(SELECT?)2012-06-10至2012-08-20期間的總(SUM)預訂價格? (當然可以手動計算= 21(6月的天數)x20 + 31(7月的天數)x35 + 20(8月的天數)x30 = 2105)返回總預訂價格的SELECT語句應該如何顯示喜歡?
偉大的答案'SET @ START ='2012-06-10'; SET @ END ='2012-08-20'; (年)(ENDdate)= YEAR(@END)AND MONTH(enddate)= MONTH(@END),@END,enddate), 如果(年份(startdate)= YEAR(@ START)和MONTH(startdate)= MONTH(@START),@ START,startdate) )+1)* price )AS TOTAL_SUM FROM seasons WHERE startdate <= @ENDEND enddate> = @ START – sbrbot