inret Опубликовано 14 июня, 2007 Жалоба Поделиться Опубликовано 14 июня, 2007 Здравствуйте! структура: Пособия - Код безработного - Зарплата - Размер пособия - Начало выплаты - Конец выплаты Вычисление среднего значения мне надо: 1. чтобы отображались все поля, 2. чтобы среднее значение вычислялось для конкретной записи поля "Код безработного" я сделал так, но происходит ошибка: SELECT Пособия.[Зарплата], Пособия.[Размер пособия] AVG([Зарплата]) AS [Среднее значение з/п] FROM Пособия Также пробовал ставить звёздочку после SELECT, всё равно ошибка. Что не так и как реализовать 2 вопрос? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 14 июня, 2007 Жалоба Поделиться Опубликовано 14 июня, 2007 Нету у вас GROUP BY Функции типа SUM, AVG и т.д. не могуть работать для одного ряда, только для многих У вас же есть только один раз Зарплата для одного Кода безработного, среднего значения из чего будете считать, средего значение из одного записа будеть всегда тот же запись Можно сделать так: SELECT Пособия.[Код безработного], AVG([Зарплата]) AS [Среднее значение з/п] FROM Пособия GROUP BY Код безработного Ссылка на комментарий Поделиться на другие сайты Поделиться
inret Опубликовано 14 июня, 2007 Автор Жалоба Поделиться Опубликовано 14 июня, 2007 Нету у вас GROUP BY Функции типа SUM, AVG и т.д. не могуть работать для одного ряда, только для многих У вас же есть только один раз Зарплата для одного Кода безработного, среднего значения из чего будете считать, средего значение из одного записа будеть всегда тот же запись Можно сделать так: SELECT Пособия.[Код безработного], AVG([Зарплата]) AS [Среднее значение з/п] FROM Пособия GROUP BY Код безработного Там выходит ошибка, может где-то скобки ещё надо поставить ошибка: "Попытка выполнить запрос, который не ключает указанное выражение "Код безработного" как часть статической функции или группы" А вообще мне надо именно для одного ряда. А если среднее значение будет считаться за 2 месяца работы допустим,то там уже не будет тоже самое число при выводе? Как жэто всё должно реализоваться: Пример тестирования методом «белого ящика» расчета начисления пособия: Входные данные: Средняя заработная плата на предыдущем месте работы за 2 месяца – 180 руб. Размер пособия: Первые 3 месяца – 75% от з/п. Следующие 4 месяца - 60% от з/п, В дальнейшем – 45%от з/п, но во всех случаях не ниже минимальной заработной платы. Расчет выходных данных вручную: Первые З месяца – 135 руб. Следующие 4 месяца – 96 руб. В дальнейшем – 83 руб., т.к. 45% от з/п составили 72 руб., а это ниже минимальной заработной платы, поэтому безработному будет выплачиваться пособие в размере минимальной заработной платы (согласно закону). Пояснение: Если код безработного в данную таблицу занесен первый раз - пособие только начинает выплачиваться, то «Начало выплаты» пользователь устанавливает сам, а «Конец выплаты» устанавливается сроком через 3 месяца. Размер пособия при этом высчитывается 75% от заработной платы. Дату «Конца выплаты» можно изменить, например при устройстве безработного на работу или других причинах. Далее происходит автоматический ввод информации в таблицу. Вторая запись будет такой - при вводе «Код безработного» (фиксируется, что ввод осуществляется второй раз), «Размер пособия» - 60% от зарплаты, дата «Начало выплаты» - занесутся данные предыдущей записи поля «Конец выплаты» и плюс 1 день, дата «Конец выплаты» - занесутся данные, установленные сроком через 4 месяца от начала выплаты уже новой суммы. Третья запись – при вводе «Код безработного» (фиксируется, что ввод осуществляется третий раз), «Размер пособия» - 40% от заработной платы, если эта сумма меньше установленной законодательством минимальной заработной платы, то «Размер пособия» - будет установлен равный минимальной заработной плате. «Начало выплаты» - дата предыдущей записи поля «Конец выплаты» плюс 1 день, «Конец выплаты» вводится пользователем, т.к. выплата данного пособия не ограничена. Анализ результатов расчетов. Входные данные: Код безработного - 1 Средняя заработная плата на предыдущем месте работы за 2 месяца -180 руб. Начало выплаты (форма - ММ\ЧЧ\ГТ) - 01\10\00. Выходные данные: Конец выплаты - 04\10\00. Размер пособия; (75% от з/п) – 135 руб. Входные данные: Код безработного - 1 (фиксируется второй раз). Выходные данные: Начало выплаты (04\10\00 + 1 день) – 04\11\00. Конец выплаты – 08\11\00 Размер пособия (60% от з/п) – 96 руб. Входные данные: Код безработного – 1 (фиксируется третий раз) Выходные данные: Начало выплаты (08\11\00 + 1 день) – 08\12\00. Конец выплаты – не ограничен Размер пособия (45% от з/п) – 83 руб. Так как 45 % от заработной платы составили 72 руб., а это ниже минимальной заработной платы, то безработному будет выплачиваться пособие в размере минимальной заработной платы (согласно закону). У меня не получается со среднем значением и с датами. Как мне эти ДАТЫ надоели.... Вот код по датам,почему он не работает: =DateAdd("m",3,"10.10.2006" Это код для вычяисления конца оплаты пособия. Там автоматичски после ввода "начала оплаты" должно в поле "конец оплаты" прибавить на 3 месяца. Извиняюсь за такой длинный ответ Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти