Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 28.10.2024 21:20

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: количество отработанных дней
СообщениеДобавлено: 08.08.2014 02:19 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
Подскажите пожалуйста!
В отчет "Расчет зарплаты сотрудников"
нужно добавить "Количество отработанных дней в текущем месяце" * 100руб
Т.е. есть поле Дата в таблице Продажи, на каждую дату есть несколько записей. Мне нужно чтобы считалось количество дней отработанных каждым сотрудником.
Те. нужно знать сколько дней проработал каждый сотрудник за месяц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 08.08.2014 11:09 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
SELECT COUNT(DocumentDate), UserName FROM tblSales GROUP BY UserName

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 08.08.2014 13:48 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
Это не подходит, т.к. COUNT(DocumentDate) считает общее количество записей. А в день совершается много продаж, и по этому выражению считается общее количество продаж за день. А нужно именно количество дней.


Вложения:
дни.jpg
дни.jpg [ 315.42 КБ | Просмотров: 89915 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 08.08.2014 14:12 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
>Это не подходит, т.к. COUNT(DocumentDate) считает общее количество записей.
COUNT считает общее количество записей с учетом того, что прописано в GROUP BY, WHERE и HAVING.
Вам нужно прописать правильные условия в этих частях самостоятельно или обратиться к нам с ТЗ, с БД и с конкретным примером.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 08.08.2014 15:08 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
SELECT COUNT(DocumentDate) FROM tblSales GROUP BY DocumentDate
считает количество записей, а не группирует по дням.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 08.08.2014 15:14 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Соглашаюсь с вами, COUNT считает, а GROUP BY группирует ))
Причем группировать можно по-разному, например, вместе с функцией FORMAT. Тогда и COUNT посчитает по-другому.
Может быть, можно попробовать SELECT DISTINCT... а потом посчитать количество получившихся записей.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 13.08.2014 18:17 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
SELECT COUNT(DocumentDate) FROM [qdfSales] WHERE FORMAT([DocumentDate], 'dd.MM.yyyy') GROUP BY [DocumentDate]
считает количество записей
SELECT DISTINCT COUNT(DocumentDate) FROM [qdfSales]
считает общий итог всех записей, если сюда добавить GROUP BY - то же не то...

Вроде задача простая: Нужно посчитать сколько дней проработал продавец в текущем месяце, потом эти дни умножить на сумму оклада за день.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 13.08.2014 18:36 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
igalkina писал(а):
SELECT COUNT(DocumentDate) FROM [qdfSales] WHERE FORMAT([DocumentDate], 'dd.MM.yyyy') GROUP BY [DocumentDate]
не туда FORMAT забабахали
Код:
SELECT COUNT(1) FROM [qdfSales] GROUP BY FORMAT([DocumentDate], 'dd.MM.yyyy')

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 13.08.2014 19:34 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
Это не совсем то, что нужно...
итогом посчитал правильно, но ...
Есть отчет "Расчет зарплаты сотрудников"
SELECT
UserName,
SUM(SaleAmount) AS [Сумма],
COUNT(ID) AS [Количество продаж],
SUM(SaleAmount) * 0.05 AS [Зарплата %]
FROM tblSales
WHERE DocumentDate = <FILTER1>
GROUP BY UserName

COUNT(ID) AS [Количество продаж] - вот это не совсем актуальная информация для расчета з/п.
Нужно количество дней, (не количество записей)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 13.08.2014 21:39 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Это относительно предыдущего сообщения, все тему с начала не читал...

Код:
SELECT
ts.UserName,
SUM(ts.SaleAmount) AS [Сумма сделок],
(SELECT COUNT(1) FROM (SELECT DocumentDate, UserName FROM tblSales GROUP BY DocumentDate, UserName) WHERE UserName = ts.UserName AND FORMAT(DocumentDate, 'mm.yyyy') = FORMAT(<FILTER1> , 'mm.yyyy')) AS [Количество отработанных дней в текущем месяце],
SUM(ts.SaleAmount) * 0.5 AS [Зарплата]
FROM tblSales AS ts
WHERE FORMAT(ts.DocumentDate, 'mm.yyyy') = FORMAT(<FILTER1> , 'mm.yyyy')
GROUP BY ts.UserName

В фильтре выбирается любая дата отчетного месяца

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 13.08.2014 22:53 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
Огромное спасибо!!!!!
Но отчет пустой, только заголовки таблицы. данных нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 14.08.2014 10:29 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
У меня на демо БД все показывает. Проверьте актуальность версии ПО, а также данных в таблице и даты в фильтре внизу отчета.


Вложения:
filter.jpg
filter.jpg [ 76.14 КБ | Просмотров: 89865 ]

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 14.08.2014 12:12 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
На новой версии в Демо - все супер, работает!

Но в моей БД, кол-во дней, считает кол-во записей, а не дней.
Из изменений я добавила 2 хранимых поля, и поле "Добавлено" поменяла с "текущей даты и время" на "текущую дату", и дерево - не по дате документа, а по полю "Добавлено"
Это могло разве повлиять...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 14.08.2014 15:10 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Теоретически никак не должно было повлиять, видать, как-то еще была изменена конфигурация

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: количество отработанных дней
СообщениеДобавлено: 14.08.2014 15:21 
Не в сети

Зарегистрирован: 01.03.2010 05:55
Сообщения: 53
А что посоветуете сделать?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB