2014-01-31 2 views
0

Эти таблицы:MySQL присоединяется с помощью предложения HAVING

mysql> select * from professor; 
+-------+--------+--------+--------+------+ 
| empid | name | status | salary | age | 
+-------+--------+--------+--------+------+ 
|  1 | Arun |  1 | 2000 | 23 | 
|  2 | Benoy |  0 | 3000 | 25 | 
|  3 | Chacko |  1 | 1000 | 36 | 
|  4 | Divin |  0 | 5000 | 32 | 
|  5 | Edwin |  1 | 2500 | 55 | 
|  7 | George |  0 | 1500 | 46 | 
+-------+--------+--------+--------+------+ 
6 rows in set (0.00 sec) 

mysql> select * from works; 
+----------+-------+---------+ 
| courseid | empid | classid | 
+----------+-------+---------+ 
|  1 |  1 |  10 | 
|  2 |  2 |  9 | 
|  3 |  3 |  8 | 
|  4 |  4 |  10 | 
|  5 |  5 |  9 | 
|  6 |  1 |  9 | 
|  2 |  3 |  10 | 
|  2 |  1 |  7 | 
|  2 |  4 |  6 | 
|  2 |  5 |  2 | 
|  4 |  2 |  6 | 
+----------+-------+---------+ 
11 rows in set (0.00 sec) 

mysql> select * from course; 
+----------+------------+--------+ 
| courseid | coursename | points | 
+----------+------------+--------+ 
|  1 | Maths  | 100 | 
|  2 | Science |  80 | 
|  3 | English |  85 | 
|  4 | Social  |  90 | 
|  5 | Malayalam |  99 | 
|  6 | Arts  |  40 | 
|  7 | Biology | 100 | 
+----------+------------+--------+ 
7 rows in set (0.00 sec) 

Возникает вопрос:

Вернуться те курсы, которые преподаются по крайней мере 5 различных сотрудников

Мои запрос:

select course.coursename from course 
inner join works 
on course.courseid=works.courseid 
group by works.empid 
having count(empid)>=5; 

В качестве результата я должен «наука». Но я получаю 0 результатов. Помощь Pls.

+4

Почему вы группирование по EmpId? Эмпиды - это то, что вы хотите подсчитать, для каждого _course_ - так вот что вам следует группировать. – CBroe

+0

спасибо :) Я только что понял, что на мгновение вернусь. –

ответ

1

Попробуйте

select course.coursename from course 
inner join works 
on course.courseid=works.courseid 
group by course.coursename 
having count(Distinct(works.empid))>=5; 
+0

Это должно сделать это, но вы, вероятно, захотите добавить DISTINCT к COUNT – Kickstart

+1

@Kickstart: thanx mate .. :) –

Смежные вопросы