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