機器の「予約日」の開始日と終了日を示す表があります。新しいテーブルを作成して入力し、特定のアイテムの開始日と終了日とともにすべての「日付の間」を入力したいと考えています。新しいテーブルには、次の列が含まれている必要があります。
Item Name conferencename reserved dates
機器の「予約日」の開始日と終了日を示す表があります。新しいテーブルを作成して入力し、特定のアイテムの開始日と終了日とともにすべての「日付の間」を入力したいと考えています。新しいテーブルには、次の列が含まれている必要があります。
Item Name conferencename reserved dates
この質問が非常に興味深いと思うのは私だけかもしれません (完全に説明されていないだけです)。
これは、カーソルを使用して日付を設定する 1 つの方法を示すSQL Fiddle Demoです。あなたが求めていたと思われるスクリプトの部分を以下に示します。
CREATE TABLE EquipmentLog
([Item Name] varchar(255),
conferencename varchar(255),
[reserved dates] datetime);
DECLARE @Item_Name varchar(255),
@conferencename varchar(255),
@start_reserve_date datetime,
@end_reserve_date datetime,
@reserve_date datetime
DECLARE cur CURSOR FAST_FORWARD
FOR
SELECT * FROM EquipmentRegister
OPEN cur
FETCH NEXT FROM cur
INTO @Item_Name, @conferencename, @start_reserve_date, @end_reserve_date
WHILE (@@FETCH_STATUS=0)
BEGIN
SET @reserve_date = @start_reserve_date
WHILE (@reserve_date <= @end_reserve_date)
BEGIN
INSERT INTO EquipmentLog
SELECT @Item_Name, @conferencename, @reserve_date
SELECT @reserve_date = DATEADD(day, 1, @reserve_date)
END
FETCH NEXT FROM cur
INTO @Item_Name, @conferencename, @start_reserve_date, @end_reserve_date
END
CLOSE cur
DEALLOCATE cur