2017-04-02 2 views
1

生徒の遅滞と学校ポリシー違反の両方のデータベースを作成するように求められました。MYSQL - COUNT()で複数のテーブルを結合する

さて、私は3つの別々のテーブルがあります。

tbl_ClassList:

Student_ID Student_Name 
    1000   Lee, Jonder 
    1001   Chow, Stephen 
    1002   Kim, Martin 
    1003   Johns, Kevin 
    1004   Hearfield, Olivia 
    1005   Jarrs, Marlon 

tbl_Tardy:

Record_No Student_ID 
      1 1001 
      2 1001 
      3 1000 
      4 1003 
      5 1002 
      6 1003 
      7 1001 
      8 1001 
      9 1002 
     10 1004 

がtbl_Violation:

Record_No Student_ID 
      1 1000 
      2 1000 
      3 1004 
      4 1005 
      5 1001 
      6 1002 
      7 1003 

私がやるように頼まれた何があるのを生成するリストには、ID、名前、遅滞回数、違反回数など、生徒に関する情報が含まれています。このような何か:

Student_ID Student_Name  No. of Tardy No. of Violation 
     1000 Lee, Jonder   1    2 
     1001 Chow, Stephen  4    1 
     1002 Kim, Martin   2    1 
     1003 Johns, Kevin  2    1 
     1004 Hearfield, Olivia 1    1 
     1005 Jarrs, Marlon  0    1 

は、私は出力を達成するために使用することができます参加のいずれかのタイプがありますか?私を助けてください。

+0

学生IDで簡単に参加し、グループ化することができます。 – Rams

答えて

1

サブクエリ内の遅延や違反の集約は別にあり、クラスリストテーブルの場合はleft joinです。遅れ/違反の行がない場合は、​​3210を使用してゼロを取得してください。

+1

うまく動作します。ありがとう、たくさんの男。 :) –

関連する問題