1
的情況是這樣的:如何建立連接,並在同一行自加入
- 有
Teacher Performance
和Student Performance
實體,所以老師和學生可以參加同一門課程有他們的得分 - 教師可以教學生和老師
- 有一張
Teaching Relation
表,並且是老師和學生都可以出現在出席的列中,但只有老師才能出現在老師列中。 - 理想的報告表列出了教師的所有表現,以及老師教授的學生和老師的平均表現。
在我們的系統中,id是數字,我只是爲了演示而將它命名爲first name。
教師績效(tb_tp)
t_id | score
------------------
JOHN | 5
ASHLEY | 6
STEVEN |4.5
學生表現(tb_sp)
s_id | score
------------------
SCOTT | 5
FRANK | 8
TIM | 7
教學關係(tb_tr)
t_id (teacher) | a_id for attendance id | a_type attendance type
------------------------------------------------------------------
ASHLEY | JOHN | teacher
ASHLEY | FRANK | student
ASHLEY | TIM | student
JOHN | ASHLEY | teacher
JOHN | FRANK | student
所需的報表:
t_id | Score| avg_t AVG score from Teacher | avg_s AVG score from Student
--------------------------------------------------------------------------
ASHLEY | 6 | (5 from John) /1 | (8 from Frank + 7 from Tim)/2
--------------------------------------------------------------------------
JOHN | 5 | (6 from ASHLEY) /1 | (8 from Frank)/1
我們該如何做到這一點?我想兩個連接在一起或聯合兩個查詢,但無論哪種方式無法保持在同一行上的結果,並準確
你爲什麼使用他們的名字作爲標識符...?這看起來像是一個非常糟糕的數據庫設計 - 如果你有兩個叫Scott的老師,或者一個叫John的老師和一個學生呢? – Siyual
@Siyual我們確實使用id,但只是爲了演示的目的,我把它叫做名字...... – Dreamer
請在問題中使用你的實際結構...使它成爲第一個名字而不是一個ID只是令人困惑。 – Siyual