|
|
|
| Наверное тупой вопрос. Есть таблица: ФИО, НАЧИСЛЕНИЯ, ДАТА НАЧИСЛЕНИЯ. Есть запрос по ней, где в условии отбора по полю ФИО введено [Введите Фамилию]. Есть ОТЧЕТ в который надо вывести инфу по 1 чел. ПРОБЛЕМА: НАДО ССУМИРОВАТЬ ПОЛЕ НАЧИСЛЕНИЯ. А ЗА ТЕКУЩИЙ ГОД НАДО ПРИБАВИТЬ ТОЛЬКО 50% ОТ СУММЫ.
Помогите! Очень надо...
Подойдет любой вариант: Макрос, VB, а мож и стандартным способом можно... | |
|
| |
|
|
|
| как и где и что суммировать ?
и что должно быть в отчете? одна строка
Иванов Иван Иванович - 15 214р.?
|
| |
|
| |
|
|
|
| Такой вот запросик:
SELECT ФИО, ( SUM(Начисления)+
(IIF( (SELECT SUM(Начисления)*0.5 FROM Таблица2 WHERE (YEAR([Дата]) = YEAR(DATE())) AND (ФИО = @FIO) ) is null, 0,
(SELECT SUM(Начисления)*0.5 FROM Таблица2 WHERE (YEAR([Дата]) = YEAR(DATE())) AND (ФИО = @FIO) ) ) )
) AS Expr1
FROM Таблица2
WHERE (YEAR([Дата]) < YEAR(DATE()))
GROUP BY ФИО
HAVING (ФИО = @FIO);
Или вариант для adp:
ALTER PROCEDURE dbo.СохраненнаяПроцедура6
(@FIO nvarchar (50))
AS
SELECT ФИО, ( SUM(Начисления) +
(case
when (SELECT SUM(Начисления)*0.5 FROM dbo.Таблица2 WHERE (YEAR(Дата) = YEAR(GETDATE())) AND (ФИО = @FIO) ) is null then 0
else (SELECT SUM(Начисления)*0.5 FROM dbo.Таблица2 WHERE (YEAR(Дата) = YEAR(GETDATE())) AND (ФИО = @FIO) )
end)
) AS Expr1
FROM dbo.Таблица2
WHERE (YEAR(Дата) < YEAR(GETDATE()))
GROUP BY ФИО
HAVING (ФИО = @FIO) | |
|
| |
|
|
|
| Мне кажется этот запросик выведет немного не тот результат, ну да бог с ним, я сам подправлю если что. Скажите только куда это вводить) | |
|
| |
|
|
|
| Мне кажется этот запросик выведет немного не тот результат, ну да бог с ним, я сам подправлю если что. Скажите только куда это вводить) | |
|
| |
|
|
|
| Все разобрался. Всем огромное спс. Считает она правильно только вот ругается на @ почемута. А в [ ] в самый раз получается. Тема закрыта. | |
|
| |
|
|
|
| надо чтоб так:
ID ФИО Дата Начисления
1 Иванов 14.01.2005 100
2 Иванов 12.01.2006 100
3 Иванов 12.11.2007 100
6 Петров 11.11.2006 2
7 Петров 12.12.2007 2
В отчет вывело Иванов - 250р. | |
|
| |
|
|
|
|
SELECT [ФИО], Sum(IIf(Year([Дата])=Year(Date()),[Начисления]/2,[Начисления])) AS [ВСЕГО НАЧИСЛЕНО]
From [Таблица]
WHERE [ФИО] = [Укажите Фамилию]
GROUP BY [ФИО]
|
| |
|
| |