Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Сделать join таблицы с самой собой
А DepartmentID in ... для этого зачем нужен ? |
||||
13 фев 15, 13:12 [17260526] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
|
||
13 фев 15, 13:15 [17260552] Ответить | Цитировать Сообщить модератору |
Morozov.A570 Member Откуда: Сообщений: 3 |
О как, спасибо большое. в ближайшее время проверю ))))) |
13 фев 15, 13:33 [17260695] Ответить | Цитировать Сообщить модератору |
mr.groft
Guest |
Morozov.A570, задачка часом не с хабра в вопросе? |
16 фев 15, 21:54 [17273984] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |