Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Вычисление среднего значения


Рекомендуемые сообщения

Здравствуйте!

структура:

Пособия

- Код безработного

- Зарплата

- Размер пособия

- Начало выплаты

- Конец выплаты

Вычисление среднего значения

мне надо:

1. чтобы отображались все поля,

2. чтобы среднее значение вычислялось для конкретной записи поля "Код безработного"

я сделал так, но происходит ошибка:

SELECT Пособия.[Зарплата], Пособия.[Размер пособия] AVG([Зарплата]) AS [Среднее значение з/п] FROM Пособия

Также пробовал ставить звёздочку после SELECT, всё равно ошибка.

Что не так

и как реализовать 2 вопрос?

Ссылка на комментарий
Поделиться на другие сайты

Нету у вас GROUP BY

Функции типа SUM, AVG и т.д. не могуть работать для одного ряда, только для многих

У вас же есть только один раз Зарплата для одного Кода безработного, среднего значения из чего будете считать, средего значение из одного записа будеть всегда тот же запись

Можно сделать так:

SELECT Пособия.[Код безработного], AVG([Зарплата]) AS [Среднее значение з/п] FROM Пособия GROUP BY Код безработного

Ссылка на комментарий
Поделиться на другие сайты

Нету у вас 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 месяца.

Извиняюсь за такой длинный ответ

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...