М
Монопо
Добрый вечер.
Новую тему создавать не стала, дабы фактически аналогичный вопрос.
Имеются две таблицы:
Personazh (Nik CHAR(15) PRIMARI KEY, Ochki MEDIUMINT);
// Ник персонажа и количество его очков
IgrokVGi (NIK CHAR(15) FOREIGN KEY, GI CHAR(15));
// Внешний ключ на ник персонажа и название гильдии, в которой он состоит (может не состоять!)
С помощью подзапросов хочу вывести список игроков (с соответствующими им очками и гильдией), у которых количество очков выше среднего по гильдии. То есть запрос фактически сразу отсеивает безгильдийных персонажей. Столкнулась с проблемой нахождения среднего арифметического для согильдийцев каждого персонажа. Будьте добры, помогите, пожалуйста?
[sql]SELECT Personazh.Nik, GI, Ochki FROM Personazh RIGHT OUTER JOIN IgrokVGi ON Personazh.Nik=IgrokVGi.NIK WHERE Ochki >
(SELECT AVG(Ochki) FROM Personazh WHERE Nik IN (SELECT IgrokVGi.Nik FROM IgrokVGi, IgrokVGiCopy WHERE (IgrokVGi.GI=IgrokVGiCopy.GI)));[/sql]
Новую тему создавать не стала, дабы фактически аналогичный вопрос.
Имеются две таблицы:
Personazh (Nik CHAR(15) PRIMARI KEY, Ochki MEDIUMINT);
// Ник персонажа и количество его очков
IgrokVGi (NIK CHAR(15) FOREIGN KEY, GI CHAR(15));
// Внешний ключ на ник персонажа и название гильдии, в которой он состоит (может не состоять!)
С помощью подзапросов хочу вывести список игроков (с соответствующими им очками и гильдией), у которых количество очков выше среднего по гильдии. То есть запрос фактически сразу отсеивает безгильдийных персонажей. Столкнулась с проблемой нахождения среднего арифметического для согильдийцев каждого персонажа. Будьте добры, помогите, пожалуйста?
[sql]SELECT Personazh.Nik, GI, Ochki FROM Personazh RIGHT OUTER JOIN IgrokVGi ON Personazh.Nik=IgrokVGi.NIK WHERE Ochki >
(SELECT AVG(Ochki) FROM Personazh WHERE Nik IN (SELECT IgrokVGi.Nik FROM IgrokVGi, IgrokVGiCopy WHERE (IgrokVGi.GI=IgrokVGiCopy.GI)));[/sql]