Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2013, 13:54   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Псевдонимы в запросе я не зря использовал. Естественно у вас не так посчитает. Подзапрос
Код:
SELECT * FROM Employee_to_department WHERE Employee_to_department.Employee_Id= Employee_to_department.Chief_Id
всегда ноль записей вернет, если человек сам у себя начальником не является
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.09.2013, 14:18   #12
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

я составил сводную табл. - наглядно видно, кто из сотрудников - начальник.
Но..мне задача такова, чтобы не в ручную их убирать из общего списка при подсчёте средней з/п, а с помощью функций access..
Mik121 вне форума Ответить с цитированием
Старый 26.09.2013, 14:53   #13
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

SELECT AVG(зряплата)
FROM Table1 T1
WHERE NOT EXISTS(SELECT * FROM Table1 T2 WHERE T2.Сотрудник=T1.Начальник)

хорошо, а зачем нам тогда Т2 ? что это такое? Ведь у меня таблица-то одна - Т1..
Mik121 вне форума Ответить с цитированием
Старый 26.09.2013, 15:07   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Таблиц в запросе две - Table1 с псевдонимом T1 и Table1 с псевдонимом T2, и не важно, что физически она одна - для запроса их две и они разные. Для того и псевдоним, что бы указать к какой из них идет обращение
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.09.2013, 16:29   #15
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

Аватар! Спасибо!!
Я + видео глянул, помучился - получилось!!! Никогда о псевдонимах не слышал)

Осталось ещё 2 запроса..
Спасибо за подсказку! Думаю, ещё понадобится помощь, если не затруднит, намекнёте хоть, как с псевдонимами?)
Mik121 вне форума Ответить с цитированием
Старый 26.09.2013, 17:09   #16
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

Извините, у Вас нет идеи?..

Выведите список сотрудников, имеющих зарплату выше, чем зарплата их непосредственных начальников
(результат запроса: имя сотрудника, зарплата сотрудника, имя руководителя, зарплата руководителя)
Mik121 вне форума Ответить с цитированием
Старый 26.09.2013, 21:10   #17
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

Хоть какую-нибудь зацепочку не могли бы кинуть?)
Mik121 вне форума Ответить с цитированием
Старый 26.09.2013, 21:14   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Mik121, а мозгой пошевелить? Джоинить таблицу саму с собой, 1-ая по сотрудникам, 2-ая их начальники, выбирать у кого зряплата повыше
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.09.2013, 23:13   #19
Mik121
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 17
По умолчанию

ммм..гляну-ка.
Учитывая, что я язык SQL без конструктора осваиваю второй день - не сильно расшевелятся)
Mik121 вне форума Ответить с цитированием
Старый 27.09.2013, 07:44   #20
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нужно к каждому сотруднику прицепить его начальника. Сотрудники без начальников в данных условиях опускаются, не с чем зряплату сравнивать
Код:
SELECT T1.Сотрудник,T1.Зряплата,T2.Сотрудник,T2.Зряплата
  FROM Table1 T1
    JOIN Table1 T2 ON T2.Сотрудник=T1.Начальник AND T2.Зряплата<T1.Зряплата
или так
Код:
SELECT T1.Сотрудник,T1.Зряплата,T2.Сотрудник,T2.Зряплата
  FROM Table1 T1,Table1 T2
  WHERE T2.Сотрудник=T1.Начальник AND T2.Зряплата<T1.Зряплата
ps Не видел ни одного начальника, у которого зарплата меньше чем у подчиненного
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.09.2013 в 08:23.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос в access!!!!!! AnKS Microsoft Office Access 2 24.12.2010 16:00
Запрос с датами и временем к Access [D7, Access] alexandr2010 БД в Delphi 3 26.07.2010 22:19
запрос в Access Aleksei83 Microsoft Office Access 2 18.06.2010 21:18
Запрос по выборке таблиц в Accesse. Droid БД в Delphi 3 25.11.2009 15:55