从不同的表中获取数据库中的数据

时间:2012-04-15 20:43:52

标签: c# sql database

我正在使用(ASP + WML)创建这个移动门户/应用程序,我需要生成一个学生在某一学期某一年开设的课程列表。

我有以下表格:

enter image description here

我在上一页中有以下参数:

string StudentId = Request.Params["StudentId"];
string Year = Request.Params["Year"];
string Semester = Request.Params["Semester"];
  • Year)的值为“2011”或“2012”。
  • Semester)的值为“First”或“Second”或“Summer”。
  • StudentId)的值是在Students表格中从id之前提取的数字。

作为表格内数据的样本。

enter image description here

我被困在这里

string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\Uni.MDF;" +
            "Integrated Security=True;User Instance=True";
           string queryString =" ??????????????????????????? " ;

我想要一个页面来显示用户注册的课程(在给定的学期中)。 该信息稍后将通过URL传递到新页面,其中将显示信息。

类似的东西:

First Semester  2010
Student : Arin Rizk

Course Name     No. of Credit      Mark
    AAA                3            65
    BBB                3            23
    CCC                3            65
    DDD                3            58
    EEE                3            70

Your GPA for this semster is 3.12

修改

我将如何在页面中打印信息?

我该怎么办?我试图创建一个视图,但我不知道为什么它不起作用。

我无法更改表格或数据库结构。

提前谢谢。

2 个答案:

答案 0 :(得分:3)

select st.firstname + ' ' + st.lastname,se.year, c.coursename,c.credits,ri.mark 
from students st 
inner join RegisteredIn ri on ri.studentid=st.id
inner join semester se on se.id=ri.semesterid
inner join Courses c on c.id=se.courseid

此查询将为您提供姓名,年份,coursename,信用和分数。

您需要为gpa计算编写另一个查询,或者您可以使用上面获得的数据在您的Web服务器上进行计算。

答案 1 :(得分:0)

对于课程列表,您可以这样做:

Select Courses.CourseName, Courses.NumberOfCredits, RegisteredIn.Mark
From dbo.Courses Inner Join dbo.RegisteredIn On Courses.id = RegisteredIn.CourseID
    Inner Join dbo.Semester On RegisteredIn.SemesterID = Semester.id
Where RegisteredIn.StudentID = '20111' AND
    Semester.Title = 'First' AND 
    Semester.Year = 2011
Order By Courses.CourseName