безгильдийные персонажи

Тема в разделе "SQL", создана пользователем Монопо, 6 дек 2009.

  1. Монопо

    Монопо Member

    Регистрация:
    6 дек 2009
    Сообщения:
    5
    Симпатии:
    0
    Добрый вечер.

    Новую тему создавать не стала, дабы фактически аналогичный вопрос.

    Имеются две таблицы:
    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]
     

Поделиться этой страницей