table TopicForum
-------------------------
- idforum (PK)
- iduser (FK)
- subject
- content
table Usermember
--------------------------------
-iduser (PK)
-password
-accesslevel
table student
-------------------------------
-idstudent (PK)
-iduser (FK)
-name
table teacher
---------------------------------
-idtecher (PK)
-iduser(FK)
-name
table admin
-----------------------------------
-idadmin (PK)
-iduser(FK)
-name
所以我希望在学生,教师和中 iduser 在TopicForum参考中显示名称管理员 ..
请帮助谢谢
答案 0 :(得分:0)
尝试:
SELECT DISTINCT tf.Subject
FROM TopicForum tf
INNER JOIN (
SELECT iduser FROM Student
UNION
SELECT iduser FROM Teacher
UNION
SELECT iduser FROM Admin
) u ON tf.iduser = u.iduser
我不太明白为什么要区分iduser
和idteacher
。除非你想以某种方式格式化它们(但为什么?)我建议将这两列合并到一个唯一的id列中,该列可以是usermember
表的一对一关系。
答案 1 :(得分:0)
试试这个:
SELECT DISTINCT A.name, A.iduser
FROM (SELECT NAME, iduser FROM Student
UNION
SELECT NAME, iduser FROM Teacher
UNION
SELECT NAME, iduser FROM Admin) AS A
INNER JOIN TopicForum tf ON A.iduser = tf.iduser