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

Откуда: Москва
Сообщений: 139
Запрос
select sum(SELECT 
      [summa]
  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME])


Ошибка:
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'SELECT'.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ')'.


Добрый день! Логика моих мыслей думаю ясна) Скажите пожалуйста как можн посчитать сумму?
Запрос привел тестовый для простоты понимания задачи на деле запрос гораздо шире, и сделать
 SELECT 
      sum([summa])
  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME] 
здесь не катит
17 янв 12, 11:17    [11916078]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Garafutdin,

А сейчас какая ошибка?
17 янв 12, 11:29    [11916177]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
rsolanov,

Запрос
select sum(SELECT 
      [summa]
  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME])





Ошибка:
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'SELECT'.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ')'.
17 янв 12, 11:33    [11916218]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
логика ваших мыслей не ясна.
17 янв 12, 11:33    [11916219]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
Ну я конечно не настоящий сварщик, я только учусь, но у меня идея IMHO достаточно сумасшедшая.

DECLARE @MoyaSummachka @<type_name,,>;

SET @MoyaSummachka = 0;

SELECT 
      @MoyaSummachka = @MoyaSummachka + [summa]
FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME])
17 янв 12, 11:42    [11916287]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
--__Александр__--,

Запрос
select sum(SELECT 
       when  p.prw_id in(select d.prw_id from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.god = p.god and d.mes = p.mes and id_obj = @id_obj and d.provod_date  between @date1 and @date2)
									     then
											IsNull((select sum(d.summa) from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.prw_id =  p.prw_id and d.god = p.god and d.mes = p.mes and (d.provod_date between @date1 and @date2 or d.id_obj = @id_obj) group by d.prw_id,d.mes,d.provod_date),0)
										else
											(select sum(p.summa)-IsNull((select sum(d.summa) from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.prw_id =  p.prw_id and d.god = p.god and d.mes = p.mes and (not d.provod_date between @date1 and @date2 or d.id_obj <> @id_obj) group by d.prw_id,d.mes,d.provod_date),0))

  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME] p group by  p.prw_id,p.god,p.mes)



так понятней?)

Ошибка:
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'SELECT'.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ')'.
17 янв 12, 11:44    [11916300]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
ё
Guest
Garafutdin,

select sum(xz)
from
(SELECT 
       case when  p.prw_id in (select d.prw_id from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.god = p.god and d.mes = p.mes and id_obj = @id_obj and d.provod_date  between @date1 and @date2)
									     then
											IsNull((select sum(d.summa) from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.prw_id =  p.prw_id and d.god = p.god and d.mes = p.mes and (d.provod_date between @date1 and @date2 or d.id_obj = @id_obj) group by d.prw_id,d.mes,d.provod_date),0)
										else
											(select sum(p.summa)-IsNull((select sum(d.summa) from [BD_MASE].[dbo].DATA_WORK_LIST_PROVODDATE d where d.prw_id =  p.prw_id and d.god = p.god and d.mes = p.mes and (not d.provod_date between @date1 and @date2 or d.id_obj <> @id_obj) group by d.prw_id,d.mes,d.provod_date),0)) as xz

  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME] p group by  p.prw_id,p.god,p.mes)
17 янв 12, 11:49    [11916344]     Ответить | Цитировать Сообщить модератору
 Re: Сумма из выборки  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
У вас CASE/END пропущены.

И тогда общая схема такая:

SELECT SUM (CASE 
              when then
              else
            END
            )
  FROM [BD_MASE].[dbo].[DATAR_JOBTRYPE_SUMME] p group by  p.prw_id,p.god,p.mes
17 янв 12, 11:52    [11916364]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить