Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема в составлении запроса по расчету суммы c корр. запросом  [new]
NonameXZ
Member

Откуда:
Сообщений: 13
Добрый день уважаемые форумчане, подскажите пожалуйста, как составить правильный запрос.

В запросе используется 2 нижеуказанных таблицы :

ZAKAZ
ID_ZAKAZ
NAME

WORKS
ID_WORK
ID_ZAKAZ
NAME
DATE_
AKT
SF
SUM_

Нужно, чтобы запрос выводил в последнем поле(Итого) сумму чисел, указанных в поле (SUM_), по каждому имеющему одинаковое значение полю (AKT), в каждом конкретном заказе. В общем суммы(SUM_) в последнем поле должны складываться если строки имеют одинаковые № заказов и одинаковые № актов. То есть выполняя мой запрос сейчас я получаю следующую выборку :

ID_ZAKAZ....WORKS.NAME.....AKT...........DATE_.................SUM_....... Итого
.............................................................................................................
.......1................Работа_1...........1...........2014-01-15...........100000.......140000
.......1................Работа_2...........4...........2014-01-15...........20000.........140000
.......1................Работа_3...........4...........2014-01-16...........20000.........140000

А должно быть :

ID_ZAKAZ....WORKS.NAME.....AKT...........DATE_.................SUM_....... Итого
.............................................................................................................
.......1................Работа_1...........1...........2014-01-15...........100000.......100000
.......1................Работа_2...........4...........2014-01-15...........20000.........40000
.......1................Работа_3...........4...........2014-01-16...........20000.........40000

Мой запрос выглядит следующим образом :

SELECT

ZAKAZ.ID_ZAKAZ,
WORKS.NAME,
WORKS.AKT AS '№ Акта',
WORKS.DATE_ AS 'Дата работ',
WORKS.SUM_ AS 'Сумма работ',
(SELECT SUM(WORKS.SUM_) FROM WORKS WHERE WORKS.ID_ZAKAZ = ZAKAZ.ID_ZAKAZ AND WORKS.AKT IN (SELECT AKT FROM WORKS WHERE WORKS.ID_ZAKAZ = ZAKAZ.ID_ZAKAZ)) AS 'Итого'

from WORKS

RIGHT JOIN ZAKAZ ON ZAKAZ.ID_ZAKAZ = WORKS.ID_ZAKAZ

WHERE ZAKAZ.ID_ZAKAZ = 1


Прошу Вашей помощи!
7 фев 14, 13:16    [15534108]     Ответить | Цитировать Сообщить модератору
 Re: Проблема в составлении запроса по расчету суммы c корр. запросом  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
sum(SUM_) over () as [Итого]
7 фев 14, 13:18    [15534127]     Ответить | Цитировать Сообщить модератору
 Re: Проблема в составлении запроса по расчету суммы c корр. запросом  [new]
NonameXZ
Member

Откуда:
Сообщений: 13
Knyazev Alexey, Спасибо Вам огромное!
7 фев 14, 13:54    [15534438]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить