1

さて、私はこのようなテーブルを持っています。

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参照で名前を表示したいです。

助けてください

4

2 に答える 2

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
于 2013-01-08T14:22:01.570 に答える
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それらを特定の方法でフォーマットしたい場合を除いて(しかし、なぜですか?)、これら2つの列を一意のid列にマージすることをお勧めします。これは、usermemberテーブルと1対1の関係になります。

于 2013-01-08T14:07:58.337 に答える