|
|
|
Помогите с запросом, я долбаюсь над ним уже 2 дня(
|
|||
|---|---|---|---|
|
#18+
Підрахувати, скільки діагнозів поставив кожний лікар поточного року. Вибрати прізвище, ім’я лікаря, назву його спеціалізації, кількість поставлених діагнозів. Select v.Fam_v as 'Фамилия' , v.ImR_v as 'Имя', s.Name_sp_v as 'Специализация', Count(*) as 'Кол-во' from Diagnoz d, Diagnoz_p z, Vrach v, Special_vracha s where z.Id_d = d.Id_d and z.Id_v = v.Id_v and v.Id_v = s.Id_sp_v and YEAR(data_d) = 2013 group by Fam_v, ImR_v, Name_sp_v Если я так делаю, то выводит только тех, кто ставил в этом году диагноз, а мне надо чтоб выводило даже тех, кто не ставил диагноз в этом году и в колонке Кол-во выводило значение 0 Нам преподаватель сказала использовать group by all Fam_v, ImR_v, Name_sp_v, но опять таки когда так делаю, то вообще выводит 100 записей перемножая каким-то образом все специализации (которых 10) со всеми врачами(которых тоже 10) и в итоге у меня 1 врач имеет 10 специализаций и 0 поставленных диагнозов( Помогите справиться с задачей, я уже всё испробовала и Case и DISTINCT и какие-то функция уже не помню какие и окончательно запуталась( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2013, 19:24:48 |
|
||
|
Помогите с запросом, я долбаюсь над ним уже 2 дня(
|
|||
|---|---|---|---|
|
#18+
откройте для себя LEFT JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2013, 19:26:53 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1835583]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 352ms |

| 0 / 0 |
