だから私は次の構造を持つ2つのテーブルを手に入れました:
CREATE TABLE courses(
id bigint not null auto_increment,
title varchar(255) default '',
primary key(id)
);
CREATE TABLE course_dates(
id bigint not null auto_increment,
course_id bigint,
`date` date,
key idx(course_id,date),
primary key(id)
);
したがって、コースは最初のテーブルに保存され、コースの日付は2番目に保存されます(各コースには無制限の日付を設定できます)
1つのクエリを使用して一度にすべてのコース行(すべての日付を含む)を取得する必要があります
たとえば、そのようなデータを含むテーブルがある場合:
courses:
id | title
1 | course#1
2 | course#2
course_dates:
id | course_id | date
1 | 1 | 2012-12-25
2 | 1 | 2012-12-27
3 | 1 | 2012-12-31
4 | 2 | 2012-12-23
5 | 2 | 2012-12-30
次に、次のような結果行が必要です。
id | course_id | date | title
1 | 1 | 2012-12-25 | course#1
2 | 1 | 2012-12-27 | course#1
3 | 1 | 2012-12-31 | course#1
4 | 2 | 2012-12-23 | course#2
5 | 2 | 2012-12-30 | course#2