我有一個SQL Server數據庫中4代表與下面的模式:從不同的表中檢索數據(SQL Server)的
出席
CREATE TABLE [dbo].[Attendance] ( [AttendanceId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, [CourseId] UNIQUEIDENTIFIER NOT NULL, [StudentId] UNIQUEIDENTIFIER NOT NULL, [SubjectId] UNIQUEIDENTIFIER NOT NULL, [Semester] INT NOT NULL, [Month] NVARCHAR (50) NOT NULL, [Count] INT NOT NULL, CONSTRAINT [PK_Attendance] PRIMARY KEY NONCLUSTERED ([AttendanceId] ASC), CONSTRAINT [FK_Attendance_Student] FOREIGN KEY ([StudentId]) REFERENCES [dbo].[Student] ([StudentId]));
場
CREATE TABLE [dbo].[Course] ( [CourseId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, [Name] NVARCHAR (50) NOT NULL, CONSTRAINT [PK_Course] PRIMARY KEY NONCLUSTERED ([CourseId] ASC) );
學生
CREATE TABLE [dbo].[Student] ( [StudentId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, [CourseId] UNIQUEIDENTIFIER NOT NULL, [Name] NVARCHAR (100) NOT NULL, [RollNo] INT NOT NULL, [Semester] INT NOT NULL, CONSTRAINT [PK_Student] PRIMARY KEY NONCLUSTERED ([StudentId] ASC), CONSTRAINT [FK_Student_Course] FOREIGN KEY ([CourseId]) REFERENCES [dbo].[Course] ([CourseId]) );
主題
CREATE TABLE [dbo].[Subject] ( [SubjectId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, [CourseId] UNIQUEIDENTIFIER NOT NULL, [Name] NVARCHAR (100) NOT NULL, [Semester] INT NOT NULL, CONSTRAINT [PK_Subject] PRIMARY KEY NONCLUSTERED ([SubjectId] ASC), CONSTRAINT [FK_Subject_Course] FOREIGN KEY ([CourseId]) REFERENCES [dbo].[Course] ([CourseId]) );
我需要在以下格式創建出席報告:
課程名稱 | 學生姓名 | 使用者名稱 | 學期 | 月 | 計數
請告訴我需要使用什麼SQL查詢,如果需要更改模式,則建議使用相同的SQL查詢。
我期待着您的回覆。
感謝,
我試過下面的查詢行: SELECT Course.Name,Student.Name,Subject.Name,Attendance.Semester,考勤。考勤記錄從課程,學生,科目,出勤 問題在於它是從學生,科目和課程表中檢索所有記錄,但我只想記錄考勤的記錄。 –
谷歌關於'SQL聯接'。 –
感謝哥們,我試過INNER JOIN,它讓我達到了我需要的精確查詢。感謝您指出這方面! –