2012-04-15 15 views
3

私はこのモバイルポータル/アプリケーションを(ASP + WML)を使用して作成しています。特定の学年の特定の学期に学生が履修したコースのリストを生成する必要がありました。異なるテーブルからデータベースにデータを取得する

私は以下の表を持っている:

enter image description here

私は、前のページから、次のパラメータがあります(Year)の値

string StudentId = Request.Params["StudentId"]; 
string Year = Request.Params["Year"]; 
string Semester = Request.Params["Semester"]; 
  • は、 "2011" のいずれかでありますまたは "2012"。
  • Semester)の値は、「First」または「Second」または「Summer」のいずれかです。
  • StudentId)の値は、学生テーブルのidから前に抽出されたNumberです。

表内のデータのサンプルとして。

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 

編集私は、後のページで情報を印刷する方法

私はそれをどのように行うことができますか?私はビューを作成しようとしましたが、なぜ動作しないのかわかりません。

テーブルまたはDB構造を変更することはできません。

ありがとうございます。

+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サーバー上で計算する必要があります。あなたが行うことができますコースのリストについては

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 
関連する問題