SQL Server – How to JOIN More Than Two Tables

join;sql server

Following is the schema of my Tables:

  1. Marks_Table
    (SubjectCode,TypeID,MarksObtd)
  2. Subjects_Table
    (SubjectCode, Subject)
  3. Types_Table
    (TypeID, Type)

I want to Select the Marks_Table table with SubjectCode and TypeID replaced with appropriate Subject and Type.

I wrote the following query:

SELECT [Subject] , [Type] , MarksObtd 
FROM [Marks_Table] 
INNER JOIN [Subjects_Table] 
   ON [Marks_Table].SubjectCode = [Subjects_Table].SubjectCode 
INNER JOIN [Types_Table] 
  ON *XXXXXXXXXXXXXXX*.TypeID = [Types_Table].TypeID

What should I write in place of XXXXXXXXXXXXXXX ? What should be the name of the table that has not been created yet?

It can be done in two queries, but is it possible to do this like above? and how?

Best Answer

try this

SELECT [Subject] , [Type], MarksObtd 
  FROM [Marks_Table] 
  INNER JOIN [Subjects_Table] 
  ON [Marks_Table].SubjectCode = [Subjects_Table].SubjectCode 
  INNER JOIN [Types_Table] 
  ON [Marks_Table].TypeID = [Types_Table].TypeID

As james added comment, I think it is a simple join and you need to change [TypeID] in select clause to [Type]