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 месяца. Извиняюсь за такой длинный ответ Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.