在其他表中查找名称(SQL)

时间:2013-02-21 06:39:48

标签: 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 个答案:

答案 0 :(得分: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