2013-02-21 67 views
-1

我有兩個表仰望名在其他表(SQL)

Applied_Uni

StudentID University1Code University2Code University3Code 
    1   U1    U2    U3 
    2   U1    U2    U4 

大學

UniversityCode UniversityName 
U1    School1 
U2    School2 
U3    School3 
U4    School4 

我遇到的問題是我不知道如何編寫sql以選擇具有應用到的大學名稱的學生。

任何形式的幫助表示讚賞。

+1

任何疑問?嘗試做一個sqlfiddle – Raptor 2013-02-21 06:41:13

回答

2

你只需要加入對自身:

SELECT AU.StudentId, 
    U.UniversityName Name1, 
    U2.UniversityName Name2, 
    U3.UniversityName Name3 
FROM Applied_Uni AU 
    LEFT JOIN University U ON AU.University1Code = U.UniversityCode 
    LEFT JOIN University U2 ON AU.University2Code = U2.UniversityCode 
    LEFT JOIN University U3 ON AU.University3Code = U3.UniversityCode 

或者,這應該工作:你試過

SELECT AU.StudentId, 
    U.UniversityName 
FROM Applied_Uni AU 
    LEFT JOIN University U ON 
     AU.University1Code = U.UniversityCode 
     OR AU.University2Code = U.UniversityCode 
     OR AU.University3Code = U.UniversityCode 
+0

非常感謝sgddes。 – zawhtut 2013-02-21 06:59:19