Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Задачка по SQL  [new]
Morozov.A570
Member

Откуда:
Сообщений: 3
Всем привет.
Помогите пожалуйста решить задачку
Есть две таблицы
Department
ID int
NAME nvarchar


Employee
ID int
DepartmentID int NULL -- id департамента
ChiefID int NULL -- id сотрудника, если NULL то обычный сотрудник, если не NULL то руководитель
NAME nvarchar -- Имя сотрудника
Salary int -- Зарплата

Задача следующая, необходимо вывести всех сотрудников у которых зарплата больше чем у руководителя

Я могу вывести всех сотрудников у которых есть руководитель, а как проверить еще зарплату (Salary) ?
SELECT NAME
FROM Employee
WHERE ChiefID IS NOT NULL and DepartmentID in 
						(
						SELECT DepartmentID
						FROM Employee
						WHERE ChiefID IS NULL
						)
13 фев 15, 13:07    [17260481]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
Morozov.A570
Member

Откуда:
Сообщений: 3
Прошу прощения ошибся кодом

SELECT NAME
FROM Employee
WHERE ChiefID IS NULL and DepartmentID in 
							(
						        SELECT DepartmentID
							FROM Employee
							WHERE ChiefID IS NOT NULL
							)
13 фев 15, 13:10    [17260502]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
Morozov.A570
а как проверить еще зарплату (Salary) ?

Сделать join таблицы с самой собой

Morozov.A570
Я могу вывести всех сотрудников у которых есть руководитель

А DepartmentID in ... для этого зачем нужен ?
13 фев 15, 13:12    [17260526]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
SELECT *
FROM Employee E
WHERE E.ChiefID IS NULL
  AND EXISTS
  (
   SELECT *
   FROM Employee EE
   WHERE EE.ChiefID IS NOT NULL
     AND EE.DepartmentID=E.DepartmentID
     AND EE.Salary<E.Salary
  );
13 фев 15, 13:14    [17260545]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47049
Morozov.A570
NAME nvarchar
Странные у вас имена - из одного символа!
13 фев 15, 13:15    [17260552]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
Morozov.A570
Member

Откуда:
Сообщений: 3
О как, спасибо большое.
в ближайшее время проверю )))))
13 фев 15, 13:33    [17260695]     Ответить | Цитировать Сообщить модератору
 Re: Задачка по SQL  [new]
mr.groft
Guest
Morozov.A570, задачка часом не с хабра в вопросе?
16 фев 15, 21:54    [17273984]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить