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

Откуда:
Сообщений: 10
Добрый день!

Есть временная таблица:
#data_temp: ObjectId, ClassId, Hour, AvgValue

Постоянная таблица:
Data: ID, DeviceId, Hour, Value

И связывающая таблица:
Devices: DeviceID, DeviceName, ObjectID, ClassId


Необходимо заменить Value в постоянной таблице Data соответствующими по ObjectID, ClassId, Hour значениями AvgValue.
28 ноя 18, 12:21    [21747137]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса  [new]
Владислав Колосов
Member

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

читайте справку по UPDATE ... FROM ...
28 ноя 18, 12:38    [21747186]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса  [new]
Rigersong
Member

Откуда:
Сообщений: 5
Нужен JOIN и тогда можно будет посчитать AVG по полям другой табл. Если имелось в виду это
28 ноя 18, 12:38    [21747187]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса  [new]
denermak
Member

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

средние значения уже посчитаны во временной таблице. Теперь необходимо заапдейтить постоянную таблицу Data средними значениями по условию совпадения объекта, класса и часа.
28 ноя 18, 13:26    [21747276]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса  [new]
Kopelly
Member

Откуда: Красноярск
Сообщений: 289
Update d
Set Value = t.AvgValue
From Data d
join #data_temp t on ...
28 ноя 18, 13:56    [21747335]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса  [new]
denermak
Member

Откуда:
Сообщений: 10
Решил задачу.

#data_temp совместить со связывающей таблицей

update Data
set Value = Av.AvgValue
from #data_temp as Av
where Av.ObjectId = Data.ObjectId and
Av.ClassId = Data.ClassId and
Av.Hour = Data.Hour
28 ноя 18, 14:00    [21747347]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить