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

Откуда:
Сообщений: 68
update [PF].[dbo].[DC_ТТ]
     set [RS_S]= SUM(convert(float, [PF].[dbo].[DC_all].[distr_reward]))
  from [PF].[dbo].[DC_all] inner join [PF].[dbo].[DC_ТТ]
  on [sale_point_code]=[Код]
  where ([PF].[dbo].[DC_all].[Md]=0 and [PF].[dbo].[DC_all].[SALE_MON]='01JUN2012' and [PF].[dbo].[DC_all].[rp] is null and [PF].[dbo].[DC_ТТ].[rp] is null)


Ошибка: An aggregate may not appear in the set list of an UPDATE statement
Что не так?

Сообщение было отредактировано: 6 сен 12, 13:13
6 сен 12, 13:12    [13123411]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
nikolay_y
Что не так?

вот это не так - An aggregate may not appear in the set list of an UPDATE statement
6 сен 12, 13:13    [13123426]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
nikolay_y
Member

Откуда:
Сообщений: 68
Glory
nikolay_y
Что не так?

вот это не так - An aggregate may not appear in the set list of an UPDATE statement


Это я и до Вас прочитал.
6 сен 12, 13:23    [13123500]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
nikolay_y
Это я и до Вас прочитал.

И что непонятного тогда ?
6 сен 12, 13:23    [13123505]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
nikolay_y
Member

Откуда:
Сообщений: 68
Где ошибка в коде?
6 сен 12, 13:25    [13123522]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
nikolay_y
Где ошибка в коде?
В set list of an UPDATE statement.
6 сен 12, 13:26    [13123532]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
nikolay_y
Member

Откуда:
Сообщений: 68
Гавриленко Сергей Алексеевич
nikolay_y
Где ошибка в коде?
В set list of an UPDATE statement.

Хорошо, что нужно поменять, чтобы заработало?
6 сен 12, 13:27    [13123549]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
nikolay_y
Гавриленко Сергей Алексеевич
пропущено...
В set list of an UPDATE statement.

Хорошо, что нужно поменять, чтобы заработало?
Убрать aggregate из the set list в какое-нибудь другое место. Например, в подзапрос.
6 сен 12, 13:30    [13123572]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
nikolay_y
Member

Откуда:
Сообщений: 68
Гавриленко Сергей Алексеевич
nikolay_y
пропущено...

Хорошо, что нужно поменять, чтобы заработало?
Убрать aggregate из the set list в какое-нибудь другое место. Например, в подзапрос.

И как это будет выглядеть?
6 сен 12, 13:33    [13123606]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
nikolay_y
Member

Откуда:
Сообщений: 68
update [PF].[dbo].[DC_ТТ]
set [RS_S]= (select SUM([PF].[dbo].[DC_all].[distr_reward])
from [PF].[dbo].[DC_all] inner join [PF].[dbo].[DC_ТТ]
on [sale_point_code]=[Код]
where ([PF].[dbo].[DC_all].[Md]=0 and [PF].[dbo].[DC_all].[SALE_MON]='01JUN2012' and [PF].[dbo].[DC_all].[rp] is null and [PF].[dbo].[DC_ТТ].[rp] is null))

The multi-part identifier "PartnerFee.dbo.DC_all.sale_point_code" could not be bound.

Как исправить?
6 сен 12, 15:28    [13124554]     Ответить | Цитировать Сообщить модератору
 Re: ошибка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Используйте алиасы. И пишите запрос правильно.

update a
set [RS_S]= (
    select 
        SUM(a.[distr_reward])
    from        [PF].[dbo].[DC_ТТ]  b   
    where
        a.[sale_point_code] = b.[Код]
        and b.[rp] is null
    )
)
from    [PF].[dbo].[DC_ТТ] a
where
    a.[Md] = 0 
    and a.[SALE_MON] = '01JUN2012' 
    and a.[rp] is null 
    
6 сен 12, 15:38    [13124660]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить