2010-01-26 22 views
0

我在我的SQL Server數據庫3個tabels具有以下信息:如何加入多個tabels查詢腳本

tabel:  TeacherInfo 
columns:  tID,  tName,  tAge,  tLocationId 
values  1   Abel  53   1 
      2   Bob  23   2 
      3   Apaul  24   2 

tabel:  LocationInfo 
columns: lId, lDesc 
values:  1  Street A 
      2  Street B 

tabel:  CourseInfo 
columns: cId, cName, masterTeacherId, assistTeacherId 
values:  1  Maths   1     2 
      2  English  1     3 

我需要的是一個SQL查詢腳本,可以返回以下值,

couseName, masterName, masterAge, masterLocation, assistName, assistAge, assistLocation 

Maths  Abel  53  Street A Bob  23  Street B 
English  Abel  53  Street A Apaul  24  Street B 

那麼如何編寫SQL腳本?提前致謝!

+0

聽起來像功課有點... – Kosi2801 2010-01-26 06:50:36

+0

這是真的不做作業:-) – 2010-01-26 07:31:44

回答

1

你需要差異alais表中的FROM子句:

SELECT CourseInfo.cName as courseName, Mst.tName as masterName, 
     Mst.tAge as masterAge, MstLoc.lDesc as masterLocation, 
     Ass.tName as assistName, Ass.tAge as assistAge, AssLoc.lDesc as 
assistLocation 

FROM CourseInfo 
    join TeacherInfo Mst on masterTeacherId = Mst.tID 
    join LocationInfo MstLoc on Mst.tLocationId = MstLoc.lId 
    join TeacherInfo Ass on assistTeacherId = Ass.tID 
    join LocationInfo AssLoc on Ass.tLocationId = AssLoc.lId 
1
select cName as couseName, a.tName as masterName, a.tAge as masterAge, 
a.lDesc as masterLocation, c.tName as assistName, c.tAge as assistAge, 
d.lDesc as assistLocation 
from CourseInfo 
join TeacherInfo a on masterTeacherId = a.tID 
join LocationInfo b on a.tLocationId = b.lId 
join TeacherInfo c on assistTeacherId = c.tID 
join LocationInfo d on c.tLocationId = d.lId