Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Вывести полную информацию о преподавателе, который проставил наибольшее количество оценнок 5
- -- по предметам относящимся к программирования
- --Первый варинат решения
- DECLARE @QTable TABLE (Преподаватель INT PRIMARY KEY, Количество INT)
- INSERT INTO @QTable
- SELECT Преподаватель, COUNT(Преподаватель) AS Количество
- FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
- WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
- GROUP BY Преподаватель
- DECLARE @Max INT
- SELECT @MAX = MAX(Количество)
- FROM @QTable
- SELECT Наименование, ФИО
- FROM Должность JOIN (Преподаватель JOIN @QTable ON Преподаватель.ID = Преподаватель) ON Должность.ID = Должность
- WHERE Количество = @MAX
- --Второй вариант решения
- SELECT Наименование, ФИО
- FROM (Преподаватель JOIN Должность ON Преподаватель.Должность = Должность.ID) JOIN ((
- SELECT Преподаватель, COUNT(Преподаватель) AS Количество
- FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
- WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
- GROUP BY Преподаватель) AS t1 JOIN (SELECT MAX(Количество) as [Максимальное количество]
- FROM (SELECT Преподаватель, COUNT(Преподаватель) AS Количество
- FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
- WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
- GROUP BY Преподаватель) AS t2) AS t3 ON t1.Количество = t3.[Максимальное количество]) ON Преподаватель.ID = Преподаватель
Advertisement
Add Comment
Please, Sign In to add comment