-2

私は教師としてテーブルを持っており、教師のテーブルには生徒がいます

id    teacherName    classAssigned
1          tea1                 1
2           tea2            1
3           tea3            3
4           tea4        2

学生テーブルには

id      name        class
1       st1              1
2       st2              1
3       st3              3
4       st4              4

左結合クエリを使用しました…。として

SELECT  student1.name , teacher1.name
       FROM student1 LEFT JOIN teacher1 ON student1.class = teacher1.class where student1.class=1

Student_name         Teacher_name
St1         tea1
St1         tea2
St2         tea1
St2         tea2

今、結果が欲しい

class       TeacherNo     Student_no
1             2                       2

クラス 1 には 2 人の生徒に対して 2 人の教師がいるため..IM GETTING THE COUNT AS 4

4

2 に答える 2

1

COUNT(DISTINCT )次のように、生徒と教師を数えるために使用します。

SELECT 
  student1.class,
  COUNT(DISTINCT student1.name)        AS studentno , 
  COUNT(DISTINCT teacher1.teacherName) AS Teacherno
FROM student1 
LEFT JOIN teacher1 ON student1.class = teacher1.classAssigned 
where student1.class = 1
GROUP BY student1.class;

ここで実際にそれを見てください:

これにより、次のことが得られます。

| CLASS | STUDENTNO | TEACHERNO |
---------------------------------
|     1 |         2 |         2 |
于 2013-05-23T09:39:41.617 に答える