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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 12:17   #1
rs5630
Новичок
Джуниор
 
Регистрация: 21.01.2015
Сообщений: 1
По умолчанию Нужна помощь с запросом

Дана такая задачка. Создать базу данных заказов, содержащую данные: дата заказа, дата выполнения, вид выполняемой работы. Построить запрос, позволяющий получать число заказов за неделю, за месяц, за год. Подсчитать, кто из сотрудников выполнил максимальное число заказов за отчетный период. Запросы мне нужно сделать не в конструкторе, а на SQL.

Со вторым запросом проблемы, подскажите как его можно по-проще реализовать. Я предполагаю, что можно сделать так: из таблицы "Заказ" в столбце "Номер сотрудника" найти наиболее часто повторяющийся номер и подсчитать кол-во этих номеров, затем вывести (учитывая, что может быть 2 или более сотрудников, выполнивших максимальное число заказов). Но как это реализовать не знаю.
Вложения
Тип файла: zip Database1.zip (20.6 Кб, 12 просмотров)
rs5630 вне форума Ответить с цитированием
Старый 22.01.2015, 09:45   #2
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

И вам здравствуйте
Можно и так, не напрягаясь
Код:
Select TPersons.[ФИО сотрудника],TResult.PersonResult As [Выполнено]
From 
(Select [Номер сотрудника] As PersonId,Count([Номер вида работы]) As PersonResult From [Заказ]
    Where ([Дата выполнения]>=#11/30/2014#) And ([Дата выполнения]<=#12/31/2014#)
    Group By [Номер сотрудника])  As TResult
Inner Join [Сотрудники] As TPersons On (TResult.PersonId=TPersons.[Номер сотрудника])
Where PersonResult=
(Select Max(PersonResult) From
    (Select [Номер сотрудника] As PersonId,Count([Номер вида работы]) As PersonResult From [Заказ]
    Where ([Дата выполнения]>=#11/30/2014#) And ([Дата выполнения]<=#12/31/2014#)
    Group By [Номер сотрудника]))
;
AndVGri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с запросом 5cek SQL, базы данных 2 05.02.2014 11:34
Нужна помощь с SQL запросом DelphiQuestions БД в Delphi 3 22.12.2009 21:17
Нужна помощь с SQL запросом! yoolla SQL, базы данных 9 31.07.2009 23:54
Нужна помощь с запросом! rocker PHP 1 22.03.2009 13:15
Нужна помощь с SQL запросом Worms БД в Delphi 3 14.03.2008 12:43