Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как изменить данные в таблице на основании запроса из другой таблицы? / 7 сообщений из 7, страница 1 из 1
15.05.2020, 14:51
    #39958025
Moleskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Добрый день! Необходимо изменить поле P в таблице A взяв данные из таблицы B по формуле.



Запрос, которым я вычисляю необходимые данные:
Код: sql
1.
select goodid, (sum(PriceOut)/(COUNT(ID))) from operations where Date in('2020-05-14') and OperType = 2 group by GoodID
...
Рейтинг: 0 / 0
15.05.2020, 15:24
    #39958033
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Написать команду update.
...
Рейтинг: 0 / 0
15.05.2020, 15:32
    #39958041
Moleskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Гавриленко Сергей Алексеевич,

Я делаю так:

Код: sql
1.
UPDATE Goods SET PriceOut1 = (SELECT (sum(PriceOut)/(COUNT(ID))) FROM operations WHERE Date in('2020-05-14') AND OperType = 2) 



Но этот запрос не делает привязку по ID. Не пойму, как сопоставить ID из таблицы Goods к GoodID из таблицы Operations
...
Рейтинг: 0 / 0
15.05.2020, 15:35
    #39958046
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Moleskin,

В хелпе есть описание синтаксиса с примерами, в том числе и обновления таблицы по данным другой таблицы.

https://docs.microsoft.com/ru-ru/sql/t-sql/queries/update-transact-sql?view=sql-server-ver15#OtherTables
...
Рейтинг: 0 / 0
15.05.2020, 16:08
    #39958066
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Moleskin
Гавриленко Сергей Алексеевич,

Я делаю так:

Код: sql
1.
UPDATE Goods SET PriceOut1 = (SELECT (sum(PriceOut)/(COUNT(ID))) FROM operations WHERE Date in('2020-05-14') AND OperType = 2) 



Но этот запрос не делает привязку по ID. Не пойму, как сопоставить ID из таблицы Goods к GoodID из таблицы Operations


Ну дык,

Код: sql
1.
2.
3.
select newPriceOut1 = (SELECT (sum(PriceOut)/(COUNT(ID))) FROM operations WHERE Date in('2020-05-14') AND OperType = 2)
       , *
  from  Goods 



И ты узришь: чаво обновляешь.

А так-то, усе просто донельзя

1. Напиши SELECT, который вернет ТОЛЬКО то, что хочешь обновить.
2.
Код: sql
1.
2.
UPDATE t SET ...
  from ( SELECT, который вернет ТОЛЬКО то, что хочешь обновить) as t
...
Рейтинг: 0 / 0
15.05.2020, 16:27
    #39958076
Moleskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
aleks222,
ну так проблема в чём выходит, мне нужно заполнить поле PriceOut1 в соответствии с выборкой из запроса с формулой. Сделать бы как то типа

ИЗМЕНИТЬ поле1 ТАБЛИЦЫ табле1 НА (формула вычисляющая цифру из другой таблицы) ГДЕ табле1.айди = табле2.гудайди
...
Рейтинг: 0 / 0
15.05.2020, 19:57
    #39958196
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить данные в таблице на основании запроса из другой таблицы?
Moleskin
Сделать бы как то типа

ИЗМЕНИТЬ поле1 ТАБЛИЦЫ табле1 НА (формула вычисляющая цифру из другой таблицы) ГДЕ табле1.айди = табле2.гудайди
Вам же уже дали ссылку

Возьмите пример "О", и замените названия таблиц и полей на свои.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как изменить данные в таблице на основании запроса из другой таблицы? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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