Advertisement
Guest User

20

a guest
Sep 11th, 2018
66
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.  
  7. where Участие.ЗанятоеМесто = 1 or Участие.ЗанятоеМесто = 2 or Участие.ЗанятоеМесто = 3
  8. group by Участие.ЗанятоеМесто;
  9. select Название from view2 where Сумма = 6;
  10.  
  11. 3) create view view3 as select Шахматист.ФИО as ФИО, count(Участие.ЗанятоеМесто) as КОЛВО from Шахматист inner join (Турнир inner join Участие on Турнир.ID=Участие.ID_Турнира) on Шахматист.ID=Участие.ID_Шахматсита
  12. where Турнир.Год = 2000 and (Участие.ЗанятоеМесто = 1 or Участие.ЗанятоеМесто = 2 or Участие.ЗанятоеМесто = 3)
  13. group by Шахматист.ФИО;
  14. select ФИО from view3 where КОЛВО > 2;
  15.  
  16. 4) create view view4 as select Турнир.Название as Название, Участие.ЗанятоеМесто as Место from Турнир inner join (Шахматист inner join Участие on Шахматист.ID = Участие.ID_Шахматсита) on Турнир.ID = Участие.ID_Турнира
  17. group by Турнир.Название
  18. having Шахматист.Рейтинг=(select max(Шахматист.Рейтинг) from Турнир inner join (Шахматист inner join Участие on Шахматист.ID = Участие.ID_Шахматсита) on Турнир.ID = Участие.ID_Турнира);
  19. select Название from view4 where Место = (select max(Место) from view4;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement