1

私は予約システムを持っており、リストの月間カレンダー ビューを表示したいと考えています。私は次のテーブル構造を持っています(他の多くの列もあります)。

CREATE TABLE `sys_calendar` (
    `dt` date NOT NULL,
    PRIMARY KEY (`dt`)
);

CREATE TABLE `listings` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `title` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
);

CREATE TABLE `bookings` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `listing_id` int(10) unsigned NOT NULL,
    `start_date` date NOT NULL,
    `end_date` date NOT NULL,
    PRIMARY KEY (`id`)
);

sys_calendar2000-01-01から2040-12-31までのすべての日付を保持します。

dt
------------
2000-01-01
2000-01-02
2000-01-03
....
2040-12-30
2040-12-31

私がやりたいことは、特定のリストの月間カレンダーを表示することです。例えば; listing_id= 10 の 2013 年 4 月 (2013-04-01 と 2013-04-30 の間)のカレンダーを表に表示したいと思いbookingsます。

dt         | Availability
-------------------------
2013-04-01 | No
2013-04-02 | No
2013-04-03 | Yes
2013-04-04 | Yes
2013-04-05 | Yes
2013-04-06 | Yes
....
2013-04-29 | No
2013-04-30 | Yes

sys_calendarテーブルに参加する必要があることは知っていますが、そのbookings方法がわかりません。

4

1 に答える 1