Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в составлении запроса / 8 сообщений из 8, страница 1 из 1
28.11.2018, 12:21
    #39739656
denermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Добрый день!

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

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

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


Необходимо заменить Value в постоянной таблице Data соответствующими по ObjectID, ClassId, Hour значениями AvgValue.
...
Рейтинг: 0 / 0
28.11.2018, 12:38
    #39739679
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
denermak,

читайте справку по UPDATE ... FROM ...
...
Рейтинг: 0 / 0
28.11.2018, 12:38
    #39739680
Rigersong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Нужен JOIN и тогда можно будет посчитать AVG по полям другой табл. Если имелось в виду это
...
Рейтинг: 0 / 0
28.11.2018, 13:26
    #39739731
denermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Rigersong,

средние значения уже посчитаны во временной таблице. Теперь необходимо заапдейтить постоянную таблицу Data средними значениями по условию совпадения объекта, класса и часа.
...
Рейтинг: 0 / 0
28.11.2018, 13:56
    #39739764
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Код: sql
1.
2.
3.
4.
Update d
Set Value = t.AvgValue
From Data d
join #data_temp t on ...
...
Рейтинг: 0 / 0
28.11.2018, 14:00
    #39739772
denermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Решил задачу.

#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
...
Рейтинг: 0 / 0
28.11.2018, 16:59
    #39739950
Cthu1hu1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Добрый день!
Надеюсь на вашу помощь.

Столкнулся с задачей, где из 3х таблиц вытянуты сводные данные по статистике принтеров. Ежедневно таблица пополняется на N строк равное кол-ву принтеров. Собственно нужно составить запрос, чтобы получить разницу текущего дня и вчера (количество страниц за день). Мои познания в запросах минимальны, пытался сделать что-то типа TOTAL_COUNT - TOTAL_COUNT WHERE GETDATE() = GETDATE() - 1dd AND PRINTER_ID = PRINTER_ID (В общем всю голову себе уже сломал и не могу сделать правильный запрос).
Пример таблицы во вложении.
Заранее благодарю!
...
Рейтинг: 0 / 0
28.11.2018, 17:06
    #39739957
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в составлении запроса
Код: sql
1.
CURR_COUNT =TOTAL_COUNT-lag(TOTAL_COUNT)over(partition by PRINTER_ID order by DATE1)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в составлении запроса / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]