Mysql 当我们在表中只使用主题Id时,如何从表中选择主题名称

Mysql 当我们在表中只使用主题Id时,如何从表中选择主题名称,mysql,sql,sql-server,oracle,Mysql,Sql,Sql Server,Oracle,当我们在表中仅使用主题Id,并且使用另一个表主题主控形状时,如何从表中选择主题名称 Table StudentMaster -------------------------- StudentId int Unchecked StudentName varchar(50) Checked Subject1 int Checked Subject2 int Checked Subject3 int Checked Sample Record ----------------

当我们在表中仅使用主题Id,并且使用另一个表主题主控形状时,如何从表中选择主题名称

Table StudentMaster
--------------------------
StudentId   int Unchecked
StudentName varchar(50) Checked
Subject1    int Checked
Subject2    int Checked
Subject3    int Checked

Sample Record
------------------------------------
ID  Name    Subject1   Subject2   Subject3
1   Mohan      1           2         4
2   Sohan      3           2         5
3   Neha       5           1         2


Table Subject
-----------------------
SubjectId   int Unchecked
SubjectName varchar(150)    Checked

Sample Record
-----------------
SubjectId        SubjectName
   1                Hindi
   2                English
   3                Physics
   4                Chemistry
   5                Maths
如何获得Sohan、Mohan和Neha选择的主题

我想要这样的结果

StudentId   StudentName   Subject1    Subject2    Subject3
    1       Mohan         Hindi       English     Chemistry
    2       Sohan         Physics     English     Maths
    3       Neha          Maths       Hindi       English
试试这个:

SELECT
    SM.StudentId,
    SM.StudentName,
    S1.SubjectName AS "Subject1",
    S2.SubjectName AS "Subject2",
    S3.SubjectName AS "Subject3"
FROM StudentMaster SM
LEFT JOIN Subject S1
     S1.SubjectId = SM.Subject1
LEFT JOIN Subject S2
     S2.SubjectId = SM.Subject2
LEFT JOIN Subject S3
     S3.SubjectId = SM.Subject3
试试这个:

SELECT
    SM.StudentId,
    SM.StudentName,
    S1.SubjectName AS "Subject1",
    S2.SubjectName AS "Subject2",
    S3.SubjectName AS "Subject3"
FROM StudentMaster SM
LEFT JOIN Subject S1
     S1.SubjectId = SM.Subject1
LEFT JOIN Subject S2
     S2.SubjectId = SM.Subject2
LEFT JOIN Subject S3
     S3.SubjectId = SM.Subject3

您已经为三个不同的数据库标记了此问题。你到底在用哪一个?@Rajkumar Patro,如果我的帖子解决了你的问题,请将它标记为答案,这样问题就可以结束了。谢谢。您已经为三个不同的数据库标记了此问题。你到底在用哪一个?@Rajkumar Patro,如果我的帖子解决了你的问题,请将它标记为答案,这样问题就可以结束了。谢谢