私のアプリケーションでは、ユーザーは特定の予約が空いているかどうかを確認できます。そのため、特定の日時を選択し、予定の長さを指定します。
SQL スクリプトは、特定の時間に既に予定があるかどうかを確認します。私が今やりたいことは、ユーザーにさらなる予定オプションを提供することです。
例: ユーザーが2013-08-24 18:00:00
開始日と2013-08-24 18:30:00
終了日を選択します。予約はすでに取られていますが、オプションを提供する必要があります。
- 提供された予約は同じ日にすることができます
- 提供された予約は、希望する予約の数時間前後になる場合があります
- 提供された予約は、1 週間の同じ日付にすることもできます
これは私のテーブルです(少なくとも重要な部分です):
CREATE TABLE `ios_appointments` (
`appointmentId` int(11) NOT NULL AUTO_INCREMENT,
`start` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`end` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
...
)
サンプルデータ:
| appointmentId | start | end
=========================================================
| 1 | 2013-08-24 18:00:00 | 2013-08-24 18:30:00
| 2 | 2013-08-24 15:00:00 | 2013-08-24 16:00:00
| 3 | 2013-08-24 09:00:00 | 2013-08-24 12:00:00
指定された予定の長さが 2 時間である場合、提案された予定は次のようになります。
| start | end
=========================================================
| 2013-08-24 12:00:00 | 2013-08-24 14:00:00
| 2013-08-24 13:00:00 | 2013-08-24 15:00:00
ある種の「スマート」な SQL スクリプトを実行するにはどうすればよいですか?