Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2019, 14:14   #1
ADITTI
 
Регистрация: 23.02.2019
Сообщений: 4
По умолчанию sql

Кто из преподавателей и сколько поставил пятерок за свой предмет?
есть 3 таблицы:
Код:
1.Lecturers
Id	Surname	Name   City    Univ_id
1	Cова 	СС	   Днепр	4

Код:
2. Exam_marks
id	Student_id	Subj_id	Mark	Exam_date
1	     3	                  5	        5         2012-04-12
Код:
3.Subj_lect
     lecturer_id         subj_id
          1                       4
Я делаю так
Код
Код:
select
	l.SURNAME
	, t.counte
	FROM LECTURERS as l
	inner join(
	SELECT SUBJ_ID, COUNT(MARK) AS Counte
	FROM EXAM_MARKS
	GROUP BY SUBJ_ID, MARK
	HAVING MARK = 5) as t
	on ????????
но как привязать таблицу subj_lect без ключей (в ней ключи lecturer_id и subj_id которые мне нужно указать в параметрах ON
ADITTI вне форума Ответить с цитированием
Старый 24.02.2019, 14:28   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
SELECT L.Surname,SUM(CASE WHEN E.Mark=5 THEN 1 ELSE 0 END)
  FROM Lecturers L
    INNER JOIN Subj_lect S ON S.lecturer_id=L.Id
    INNER JOIN Exam_marks E ON E.Subj_id=S.subj_id
  GROUP BY L.Id,L.Surname
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.02.2019 в 14:31.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск