Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Stas_Garcia
Ушел наливать чай
187 / 136 / 32
Регистрация: 02.03.2013
Сообщений: 652
#1

Посчитать доход официантов за 15 дней с условием - MS Access

06.04.2016, 20:57. Просмотров 258. Ответов 5
Метки нет (Все метки)

Есть таблица "Регистрация заказа, в которой формируется заказ для кафе, поля: Наименование блюда, код клиента. код сотрудника и дата заказа. Наименование блюда реализовано мастером подстановок из таблицы "Меню". Каждому блюду в этой таблице соответствует своя цена. Вопрос: как создать запрос, который бы выводил заработок каждого официанта за последние 15 дней. Какой тип запроса нужно использовать?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2016, 20:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Посчитать доход официантов за 15 дней с условием (MS Access):

дан доход D надо высчитать налог 1% от D с условием если ответ окажется дробным округлять число в сторону большего целого
Условие надо чтобы работа совершалась с входными и выходными файлами! 1)дан...

Посчитать доход от продажи каждой модели коньков за год
Вот такое задание! Я немного набросала! Вот только как дальше доделать до меня...

Как посчитать итоги по столбцам с условием?
Доброго времени. Скажите, как можно посчитать суммы по столбцам с заданным...

Посчитать количество рабочих дней
В киоске работают Инна и Нина.Каждая работает N дней подряд,а потом столько же...

Посчитать количество дней между датами
в textbox1 и textbox2 имеются даты (в формате 03.06.2016) как посчитать...

Как Посчитать количество дней в интервале
есть 2 входящие даты: DateTime d1 = new DateTime(2011,01,01); и DateTime d2 =...

5
Вячеслав Я
Эксперт MS Access
2799 / 1344 / 212
Регистрация: 13.05.2011
Сообщений: 4,076
06.04.2016, 21:44 #2
Stas_Garcia, Так как вашего примера нет, то накидал свой пример (простой конечно). Показывает данные за 5 дней, включая текущую дату (можно поменять на 15, только соответственно и данные надо вводить на 15 дней). Смотрите вложение. Результат в запросе и отчете.
1
Вложения
Тип файла: rar Официант.rar (24.4 Кб, 5 просмотров)
Stas_Garcia
Ушел наливать чай
187 / 136 / 32
Регистрация: 02.03.2013
Сообщений: 652
06.04.2016, 22:55  [ТС] #3
Сделал так, чтобы выводило суммы, набранные официантами за 15 дней. Теперь вопрос - каким образом можно сделать так, чтобы выводило только тех официантов, набранная сумма которых больше 18% суммы всех официантов? БД скинул.
0
Вложения
Тип файла: rar БазаД.rar (31.5 Кб, 4 просмотров)
mobile
Эксперт MS Access
22494 / 12812 / 2612
Регистрация: 28.04.2012
Сообщений: 14,014
06.04.2016, 23:29 #4
Лучший ответ Сообщение было отмечено Stas_Garcia как решение

Решение

Цитата Сообщение от Stas_Garcia Посмотреть сообщение
только тех официантов, набранная сумма которых больше 18% суммы всех официантов
Подзапрос с алиасом z содержит сумму всех заказов. В постусловии запроса Having задается фильтр только на тех официантов, сумма заказов которых больше 0,18 от общей суммы: z.s
SQL
1
2
3
4
5
6
7
8
9
10
SELECT [Сотрудники-официанты].Код, [Сотрудники-официанты].[ФИО официанта], 
SUM(Ассортимент.Стоимость) AS СуммаОфицианта, z.s AS ОбщаяСумма, 
round(СуммаОфицианта/z.s,2)*100 AS ПроцентОфицианта  
FROM (SELECT SUM(Стоимость) AS s FROM Ассортимент INNER JOIN  [Регистрация заказа] 
  ON Ассортимент.Код = [Регистрация заказа].[Наименование блюда]) z,
Ассортимент INNER JOIN ([Сотрудники-официанты] INNER JOIN [Регистрация заказа] 
ON [Сотрудники-официанты].Код = [Регистрация заказа].[Код сотрудника]) 
ON Ассортимент.Код = [Регистрация заказа].[Наименование блюда]
GROUP BY [Сотрудники-официанты].Код, [Сотрудники-официанты].[ФИО официанта], z.s
HAVING SUM(Ассортимент.Стоимость)/z.s>0.18
1
Stas_Garcia
Ушел наливать чай
187 / 136 / 32
Регистрация: 02.03.2013
Сообщений: 652
07.04.2016, 00:00  [ТС] #5
Цитата Сообщение от mobile Посмотреть сообщение
Подзапрос с алиасом
А есть возможность реализовать задачу без использования переменных и подзапроса?
0
alvk
Эксперт MS Access
5541 / 3439 / 166
Регистрация: 12.08.2011
Сообщений: 8,682
07.04.2016, 06:38 #6
Цитата Сообщение от Stas_Garcia Посмотреть сообщение
А есть возможность реализовать задачу без использования переменных
А вы можете использовать переменные в запросе? Покажите как?
1
07.04.2016, 06:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2016, 06:38
Привет! Вот еще темы с решениями:

Посчитать количество дней из ДатаНачала и ДатаОкончания
Здравствуйте. Создаю документ в конфигурации Бухгалтерия предприятия,...

Посчитать количество дней между двумя событиями
в функции interval считаю количество дней между двумя событиями, но не...

Посчитать количество дней от дня рождения MonthCalendar
Здравствуйте, немного запутался в методах и свойствах. Помогите private void...

Посчитать количество дней между двумя датами
читал на форуме похожие темы, даже нашел целый код, но он мне кажется мудреным,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru