・火曜日2限に開講されている授業一覧
を表示させるために下記のテーブルを設定し、
lang
1create table classes ( 2 id int primary key auto_increment, 3 name text 4); 5 6insert into classes (id,name) values (1,'IT'); 7insert into classes (id,name) values (2,'Math'); 8 9create table weekdays ( 10 weekday_id int primary key auto_increment, 11 weekday_name text, 12 id int, 13 foreign key (id) references classes (id) 14); 15 16insert into weekdays (weekday_id,weekday_name) values (1,'Sunday'); 17insert into weekdays (weekday_id,weekday_name) values (2,'Monday'); 18insert into weekdays (weekday_id,weekday_name) values (3,'Tuesday'); 19 20create table classtimes ( 21 classtime_id int, 22 id int, 23 foreign key (id) references classes (id), 24 weekday_id int, 25 foreign key (weekday_id) references weekdays (weekday_id) 26); 27 28insert into classtimes (id,classtime_id,weekday_id) values (1,1,1); 29insert into classtimes (id,classtime_id,weekday_id) values (1,2,1); 30insert into classtimes (id,classtime_id,weekday_id) values (1,3,1); 31insert into classtimes (id,classtime_id,weekday_id) values (2,1,2); 32insert into classtimes (id,classtime_id,weekday_id) values (2,2,2); 33insert into classtimes (id,classtime_id,weekday_id) values (2,3,2); 34insert into classtimes (id,classtime_id,weekday_id) values (2,1,3); 35insert into classtimes (id,classtime_id,weekday_id) values (2,2,3); 36insert into classtimes (id,classtime_id,weekday_id) values (2,3,3);
下記のsql文を書きましたが、
lang
1select classes.name from classtimes 2inner join classes on classtimes.classtime_id = classes.id 3inner join weekdays on classtimes.classtime_id = weekdays.weekday_id 4where weekdays.weekday_id = 3;
下記のようにエラーが発生してしまいます。
lang
1+------+ 2| name | 3+------+ 4| Math | 5| Math | 6| Math | 7+------+
うまく出力されない理由として、
・classtimeテーブルのinsert文がおかしい
ということは考えついたのですが、具体的にどう直せばいいのか分かりません。訂正していただけないでしょうか?
よろしくお願いお願いいたします。
=======
修正:
weekdaysテーブルとclasstimesテーブルの順番がおかしかったので訂正しました。
エラー内容はEmpty setです。
回答3件
あなたの回答
tips
プレビュー