Fullcalender で繰り返し発生するイベントの問題を修正するために、数日間探していました。最も簡単な方法は、テーブルに保存されているデータに基づいて定期的な日付を生成することです。
過去に CTE クエリを使用したことはありません。私が必要とするのは、日の例の定期的な日付を生成することです
毎週月曜日と木曜日にオフィスでプロジェクトのミーティングを行います。この場合、開始日 = 2012-06-04 終了日 = 2012-06-31 とします。
ここで、2012 年 6 月 4 日から 2012 年 8 月 31 日までのすべての日付を表示する SQL クエリを生成したいと考えています。
EventID Date Title
1 2012-06-04 Project Meeting
1 2012-06-07 Project Meeting
1 2012-06-11 Project Meeting
1 2012-06-14 Project Meeting
1 2012-06-18 Project Meeting
1 2012-06-21 Project Meeting
1 2012-06-25 Project Meeting
1 2012-06-18 Project Meeting
2 2012-05-13 Meeting With Client
3 2012-06-25 Event 3
これを達成する方法を理解できました。これについて助けていただければ幸いです。または、同様の例を教えてください。このデータを正しく生成できれば、これらの日付を eventTitle とともに FullCalender コントロールに送信して、以下の例に示すようにイベントのカレンダーを表示できますhttp://arshaw.com/fullcalendar/
誰かが喜んで手伝ってくれれば、以下の sql からテーブルとサンプル データを作成できます。これは、MS SQL 2008 でのみサポートされているデータ型を使用しているため、MS SQL SERVER 2008 r2 と互換性があります。
データを含むスキーマ
/****** Object: Table [dbo].[EventCalender] Script Date: 05/24/2012 20:18:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[EventCalender](
[EventID] [int] IDENTITY(1,1) NOT NULL,
[EventTitle] [nvarchar](900) NULL,
[EventDetails] [nvarchar](max) NULL,
[EventStartDate] [date] NOT NULL,
[EventEndDate] [date] NULL,
[EventStartTime] [time](0) NULL,
[EventEndTime] [time](0) NULL,
[EventRecurring] [bit] NULL,
[EventEnumDays] [varchar](50) NULL,
[EventBlockDate] [bit] NULL,
[EventVisibleOnWebsite] [bit] NULL,
[EventActive] [bit] NULL,
[EventType] [nvarchar](200) NULL,
[LanguageID] [int] NOT NULL,
[EventCreatedOn] [date] NULL,
[EventShowTime] [bit] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[EventCalender] ON
INSERT [dbo].[EventCalender] ([EventID], [EventTitle], [EventDetails], [EventStartDate], [EventEndDate], [EventStartTime], [EventEndTime], [EventRecurring], [EventEnumDays], [EventBlockDate], [EventVisibleOnWebsite], [EventActive], [EventType], [LanguageID], [EventCreatedOn], [EventShowTime]) VALUES (1, N'Project Meeting', N'Every Monday, Thrusday', CAST(0xC1350B00 AS Date), CAST(0x19360B00 AS Date), CAST(0x00A08C0000000000 AS Time), CAST(0x00B8A10000000000 AS Time), 1, N'2,5,7', 0, 0, 1, N'EVENT', 1, CAST(0xB6350B00 AS Date), NULL)
INSERT [dbo].[EventCalender] ([EventID], [EventTitle], [EventDetails], [EventStartDate], [EventEndDate], [EventStartTime], [EventEndTime], [EventRecurring], [EventEnumDays], [EventBlockDate], [EventVisibleOnWebsite], [EventActive], [EventType], [LanguageID], [EventCreatedOn], [EventShowTime]) VALUES (2, N'Meeting With Client', N'Event Details 2', CAST(0xBA350B00 AS Date), CAST(0xBA350B00 AS Date), NULL, NULL, 0, NULL, 0, 0, 1, N'EVENT', 1, CAST(0xB6350B00 AS Date), NULL)
INSERT [dbo].[EventCalender] ([EventID], [EventTitle], [EventDetails], [EventStartDate], [EventEndDate], [EventStartTime], [EventEndTime], [EventRecurring], [EventEnumDays], [EventBlockDate], [EventVisibleOnWebsite], [EventActive], [EventType], [LanguageID], [EventCreatedOn], [EventShowTime]) VALUES (3, N'Event 3', N'Event Details 3', CAST(0xAB350B00 AS Date), CAST(0xAB350B00 AS Date), NULL, NULL, 0, NULL, 0, 0, 0, N'EVENT', 1, CAST(0xB6350B00 AS Date), 0)
INSERT [dbo].[EventCalender] ([EventID], [EventTitle], [EventDetails], [EventStartDate], [EventEndDate], [EventStartTime], [EventEndTime], [EventRecurring], [EventEnumDays], [EventBlockDate], [EventVisibleOnWebsite], [EventActive], [EventType], [LanguageID], [EventCreatedOn], [EventShowTime]) VALUES (5, N'Weekly Meeting', N'Weekly Event', CAST(0xA3350B00 AS Date), CAST(0x01380B00 AS Date), CAST(0x00D0B60000000000 AS Time), NULL, 1, N'2,', 0, 1, 1, N'ACTIVITY', 2, NULL, 0)
SET IDENTITY_INSERT [dbo].[EventCalender] OFF
/****** Object: Default [DF_EventCalender_EventEndDate] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventEndDate] DEFAULT (NULL) FOR [EventEndDate]
GO
/****** Object: Default [DF_EventCalender_EventStartTime] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventStartTime] DEFAULT (NULL) FOR [EventStartTime]
GO
/****** Object: Default [DF_EventCalender_EventEndTime] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventEndTime] DEFAULT (NULL) FOR [EventEndTime]
GO
/****** Object: Default [DF_EventCalender_EventRecurring] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventRecurring] DEFAULT ((0)) FOR [EventRecurring]
GO
/****** Object: Default [DF_EventCalender_EventEnumDays] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventEnumDays] DEFAULT (NULL) FOR [EventEnumDays]
GO
/****** Object: Default [DF_EventCalender_EventBlockDate] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventBlockDate] DEFAULT ((0)) FOR [EventBlockDate]
GO
/****** Object: Default [DF_EventCalender_EventVisibleOnWebsite] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventVisibleOnWebsite] DEFAULT ((0)) FOR [EventVisibleOnWebsite]
GO
/****** Object: Default [DF_EventCalender_EventActive] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventActive] DEFAULT ((0)) FOR [EventActive]
GO
/****** Object: Default [DF_EventCalender_EventShowTime] Script Date: 05/24/2012 20:18:00 ******/
ALTER TABLE [dbo].[EventCalender] ADD CONSTRAINT [DF_EventCalender_EventShowTime] DEFAULT ((0)) FOR [EventShowTime]
GO