Advertisement
Guest User

20

a guest
Sep 9th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1) create view view1 select avg(Шахматист.Рейтинг), Турнир.Название from Турнир inner join (Шахматист inner join Участие on Шахматист.ID = Участие.ID_Шахматсита) on Турнир.ID = Участие.ID_Турнира
  2. group by Турнир.Название;
  3. select Название from view1 where Рейтинг = (select max(Рейтинг) from view1);
  4.  
  5. 2) create view view2 as select Турнир.Название as Название, sum(Участие.ЗанятоеМесто) as Сумма from Участие inner join (Турнир inner join Шахматист on Турнир.Страна = Шахматист.Страна) on Участие.ID_Турнира = Турнир.ID
  6. group by Участие.ЗанятоеМесто
  7. having Участие.ЗанятоеМесто = 1 or Участие.ЗанятоеМесто = 2 or Участие.ЗанятоеМесто = 3;
  8. select Название from view2 where Сумма = 6;
  9.  
  10. 3) create view view3 as select Шахматист.ФИО as ФИО, count(Участие.ЗанятоеМесто) as КОЛВО from Шахматист inner join (Турнир inner join Участие on Турнир.ID=Участие.ID_Турнира) on Шахматист.ID=Участие.ID_Шахматсита
  11. group by Шахматист.ФИО
  12. having Турнир.Год = 2000 and (Участие.ЗанятоеМесто = 1 or Участие.ЗанятоеМесто = 2 or Участие.ЗанятоеМесто = 3);
  13. select ФИО from view3 where КОЛВО > 2;
  14.  
  15. 4) create view view4 as select Турнир.Название as Название, Участие.ЗанятоеМесто as Место from Турнир inner join (Шахматист inner join Участие on Шахматист.ID = Участие.ID_Шахматсита) on Турнир.ID = Участие.ID_Турнира
  16. group by Турнир.Название
  17. having Шахматист.Рейтинг=(select max(Шахматист.Рейтинг) from Турнир inner join (Шахматист inner join Участие on Шахматист.ID = Участие.ID_Шахматсита) on Турнир.ID = Участие.ID_Турнира);
  18. select Название from view4 where Место = (select max(Место) from view4;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement