• adigozelov © (22.12.10 13:03) [0]
    Привет всем, у меня есть две таблицы

    create table employees (name varchar2(10), surname varchar2(20), salary real, department_id integer) ;

    create table departments (department_id integer, department_name varchar2(50));

    Как написать запрос который вычисляет максимум salary по отделам и как результат будет : department_name, name, surname max(salary). Точнее хочу увидеть тех работников в каждом отделе которые получают максимум salary. Надеюсь понятно, Спасибо,
  • Ega23 © (22.12.10 13:06) [1]
    Max, GroupBy + F1
  • adigozelov © (22.12.10 13:32) [2]
    не понил Ega23 ?
  • Ega23 © (22.12.10 13:43) [3]

    > не понил Ega23 ?


    читай справку по функции Max и по директиве group by в SQL.
  • adigozelov © (22.12.10 14:03) [4]
    select department_name,name,surname,e1.salary from

    (select department_id, max(salary) as salary from employees
    group by department_id )

    e1 inner join employees e2

    on
    e1.department_id=e2.department_id and e1.salary=e2.salary

    inner join departments d

    on e1.department_id =d.department_id

    ya xarasho znayu shto takaya "group by" i xarasho znayu "sql" no napisal takoy zapros.zapros pravilniy i resultat tot shto ya xacu no ya dumuyu shto eta ni bistriy zapros toyis mojit bit napisat zapros katoruy budit ocen optimalniy
  • Виталий Панасенко (22.12.10 16:09) [5]
    а нафига подзапрос?
Есть новые Нет новых   [134431   +15][b:0][p:0]