0
我有這個字段的表:SQL - 添加天的日期在一個循環
Id int(11) pk,
Start_date date,
End_date date,
type tinyint(1),
Frequency int.
我想要做一個選擇這個表,其中起始日期+頻率= @date(可變日期),直到END_DATE(循環)。
這是如何與SQL?
在此先感謝。
編輯: 可變日期是(例如):
SET @date = '2017-03-30'
類型可以是0或1:
如果type = 0我的查詢是:
select * from table where type = 0 and start_date <= @date AND end_date>[email protected]
如果type = 1,則frequency是具有整數的字段(間隔天數)。所以我必須檢查將這個值添加到start_date是否等於@date。
- 如果是,我必須回到當前記錄
如果沒有,我不得不重複此操作
Date current = start_date + interval of 'frequency' days while(current < end_date){ if(current == @date) (this is the record I want) else current+=frequency }
類型1罐的查詢結果不止一個記錄。最後,我想UNION的類型0和1的結果在獨特的選擇。
請提供樣本數據和期望的結果。 –
SQL是一種功能強大的語言。如果你以正確的方式做事,你幾乎不需要循環。一切都應該基於集合來完成。你能解釋你想達到什麼嗎? –
@Zack檢查我的編輯,謝謝 – Fidelis