MaximTakkaTo

Untitled

Dec 11th, 2020
1,042
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.52 KB | None | 0 0
  1. --Вывести полную информацию о преподавателе, который проставил наибольшее количество оценнок 5
  2. -- по предметам относящимся к программирования
  3. --Первый варинат решения
  4. DECLARE @QTable TABLE (Преподаватель INT PRIMARY KEY, Количество INT)
  5.  
  6. INSERT INTO @QTable
  7.        SELECT Преподаватель, COUNT(Преподаватель) AS Количество
  8.          FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
  9.          WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
  10.          GROUP BY Преподаватель
  11. DECLARE @Max INT
  12. SELECT @MAX = MAX(Количество)
  13.  FROM @QTable      
  14.  
  15. SELECT Наименование, ФИО
  16.  FROM Должность JOIN (Преподаватель JOIN @QTable ON Преподаватель.ID = Преподаватель) ON Должность.ID = Должность
  17.  WHERE Количество = @MAX
  18. --Второй вариант решения
  19. SELECT Наименование, ФИО
  20.  FROM (Преподаватель JOIN Должность ON Преподаватель.Должность = Должность.ID) JOIN ((
  21. SELECT Преподаватель, COUNT(Преподаватель) AS Количество
  22.          FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
  23.          WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
  24.          GROUP BY Преподаватель) AS t1 JOIN (SELECT MAX(Количество) as [Максимальное количество]
  25.                                               FROM (SELECT Преподаватель, COUNT(Преподаватель) AS Количество
  26.                                                     FROM Ведомость JOIN Предмет ON Ведомость.Предмет = Предмет.ID
  27.                                                     WHERE Оценка = 5 AND (Название LIKE 'Программирование%' or Название LIKE '% программирование%')
  28.                                                     GROUP BY Преподаватель) AS t2) AS t3 ON t1.Количество = t3.[Максимальное количество]) ON Преподаватель.ID = Преподаватель
Advertisement
Add Comment
Please, Sign In to add comment