Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Запрос из двух таблиц 
:(
    Опции темы
Freazeek
Дата 26.5.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 8.9.2009

Репутация: нет
Всего: нет



День добрый.

Есть две таблицы:
[Prin] - даты приема сотрудников на работу.
[Uvol] - даты увольнения сотрудников.

Каждый сотрудник может быть принят на работу несколько раз.

Нужен запрос, который по выбранному сотруднику формируем табличку вида: Принят на работу-Уволен-Время работы.
Если сотрудник принят на работу но еще не уволен то время работы считать как разницу между датой принятия и сегодняшним днем

Ну и второй запрос который посчитает суммарное время работы сотрудника на предприятии.

В приложенное екселевском файле примерно что хочу увидеть на примере сотрудника с кодом 1

Если это проблематично - то подскажите. как результат запроса загнать в массив. (ну или просто подскажите - для общего развития)

Заранее спасибо.

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  test_stag.rar 17,33 Kb
PM MAIL   Вверх
Akina
Дата 26.5.2010, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Если связать таблицы по сотруднику, наложить условие (дата увольнения) > (дата приёма), сгруппировать по обеим датам и отобрать те, у которых разница этих дат минимальна - получим все диапазоны работ сотрудников, которые в данный момент уволены.
Если связать таблицы по сотруднику, наложить условие max(дата увольнения) < max(дата приёма), получим список не-уволенных сотрудников.
Если объединить эти запросы - получим требуемую выборку. Время работы посчитать как DeteDiff("d",...)

Добавлено через 1 минуту и 49 секунд
Цитата(Freazeek @  26.5.2010,  13:14 Найти цитируемый пост)
как результат запроса загнать в массив. (ну или просто подскажите - для общего развития)

Перебрать записи по одной, сваливая данные в массив.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Freazeek
Дата 26.5.2010, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 8.9.2009

Репутация: нет
Всего: нет



Спасибо. А не подскажете как перебрать записи по одной?

For Each [чтото там] in [наверно recordset]

next
PM MAIL   Вверх
Akina
Дата 26.5.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Freazeek @  26.5.2010,  13:48 Найти цитируемый пост)
А не подскажете как перебрать записи по одной?

Подскажу. Открыть встроенную справку и посмотреть.




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.