使用SQL创建时间表

使用SQL创建时间表,sql,sql-server,Sql,Sql Server,我想在SQLServerManagementStudio中使用查询为我所在大学的模块创建一个时间表 这是我第一次用SQL编程,对它知之甚少。我已使用以下代码创建了数据库以及要使用的表: USE master GO IF EXISTS (SELECT * FROM sys.databases WHERE name = 'myTimetable') DROP DATABASE myTimetable GO CREATE DATABASE myTimetable GO USE my

我想在SQLServerManagementStudio中使用查询为我所在大学的模块创建一个时间表

这是我第一次用SQL编程,对它知之甚少。我已使用以下代码创建了数据库以及要使用的表:

USE master
GO

IF EXISTS (SELECT * FROM sys.databases WHERE name = 'myTimetable') 
    DROP DATABASE myTimetable 
GO

CREATE DATABASE myTimetable 
GO

USE myTimetable
GO

CREATE TABLE DayTable 
(
    WeekDay_ID int Identity (1,1) PRIMARY KEY NOT NULL,  
    Day_Name varchar(10) NOT NULL
)
GO

CREATE TABLE TimeRangeTable 
(
    DayTime_ID int Identity (1,1) PRIMARY KEY NOT NULL, 
    TimeInterval varchar(20) NOT NULL
)
GO


CREATE TABLE SubjectTable 
(
    Course_ID int Identity (1,1) PRIMARY KEY NOT NULL, 
    CourseCode varchar (10), 
    CourseName varchar (255) NOT NULL 
)
GO

CREATE TABLE ScheduleTable 
(
    WeekDay_ID int references DayTable(WeekDay_ID),
    DayTime_ID int references TimeRangeTable(DayTime_ID), 
    Course_ID int references SubjectTable(Course_ID), 
)
GO
表的创建是正确的,我成功地将正确的数据插入表中,除了我的
ScheduleTable
(在上述示例代码中创建的最后一个表)

以下是我用来插入数据的SQL代码:

insert into DayTable values ('Monday')
insert into DayTable values ('Teusday')
insert into DayTable values ('Wensday')
insert into DayTable values ('Thursday')
insert into DayTable values ('Friday')
insert into DayTable values ('Saterday')
insert into DayTable values ('Sunday')

insert into TimeRangeTable values ('07:30 - 08:20')
insert into TimeRangeTable values ('08:30 - 09:20')
insert into TimeRangeTable values ('09:30 - 10:20')
insert into TimeRangeTable values ('10:30 - 11:20')
insert into TimeRangeTable values ('11:30 - 12:20')
insert into TimeRangeTable values ('12:30 - 13:20')
insert into TimeRangeTable values ('13:30 - 14:20')
insert into TimeRangeTable values ('14:30 - 15:20')
insert into TimeRangeTable values ('15:30 - 16:20')
insert into TimeRangeTable values ('16:30 - 17:20')
insert into TimeRangeTable values ('17:30 - 18:20')

insert into SubjectTable values ('WTW115','Discrete Mathematics')
insert into SubjectTable values ('INF214','Database Design')
insert into SubjectTable values ('INL210','Information Seeking and Retreival')
insert into SubjectTable values ('INL240','Social and Ethical Impact')
insert into SubjectTable values ('INF271','System Analysis and Design')
insert into SubjectTable values ('INF154','Introduction to Programming')

-- Struling from this point onward...
insert into ScheduleTable values('1','1','1')
insert into ScheduleTable values('1','2','2')
insert into ScheduleTable values('1','3','3')
insert into ScheduleTable values('1','4','3')
insert into ScheduleTable values('1','5','3')
insert into ScheduleTable values('2','4','1')
insert into ScheduleTable values('2','5','2')
insert into ScheduleTable values('2','6','2')
insert into ScheduleTable values('2','9','4')
insert into ScheduleTable values('2','10','2')
insert into ScheduleTable values('3','1','5')
insert into ScheduleTable values('3','2','5')
insert into ScheduleTable values('3','6','1')
insert into ScheduleTable values('3','7','3')
insert into ScheduleTable values('4','1','4')
insert into ScheduleTable values('4','3','5')
它全部执行并插入数据,但当我显示
ScheduleTable
的数据时,is显示的数据如下:

      WeekDay_ID    DayTime_ID    Course_ID
-------------------------------------------
 1    1             1             1
 2    1             2             2
 3    1             3             3
 4    1             4             3
 5    1             5             3
 6    2             4             1
 7    2             5             2
 8    2             6             2
 9    2             9             4
 10   2             10            2
 11   3             1             5
 12   3             2             5
 13   3             6             1
 14   3             7             3
 15   4             1             4
 16   4             3             5
我希望它显示数据,而不仅仅是代码,这是我想要的示例:

      WeekDay_ID    DayTime_ID     Course_ID
 --------------------------------------------
 1    Monday        07:30 - 08:20  WTW115
 2    Monday        08:30 - 09:20  INF214
 3    Monday        09:30 - 10:20  INL210
 4    Monday        10:30 - 11:20  INL210
 5    Monday        11:30 - 12:20  INL210
 etc...
我知道它与我的时间表有关,但我只知道这些,我不知道如何像示例中那样以这种方式显示它

任何帮助都将不胜感激。

有时间加入以下几项:

select --*
    d.Day_Name,
    tr.TimeInterval,
    sbj.CourseCode, sbj.CourseName
from ScheduleTable as sch
join DayTable as d on sch.WeekDay_ID = d.WeekDay_ID
join TimeRangeTable as tr on sch.DayTime_ID = tr.DayTime_ID
join SubjectTable as sbj on sch.Course_ID = sbj.Course_ID;
为了方便起见,您可以创建一个视图(用于上述语句):

create view TimeScheduleView
as
select 
    d.Day_Name,
    tr.TimeInterval,
    sbj.CourseCode, sbj.CourseName
from ScheduleTable as sch
join DayTable as d on sch.WeekDay_ID = d.WeekDay_ID
join TimeRangeTable as tr on sch.DayTime_ID = tr.DayTime_ID
join SubjectTable as sbj on sch.Course_ID = sbj.Course_ID;  
go

select *
from TimeScheduleView;