powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как изменить данные в таблице на основании запроса из другой таблицы?
7 сообщений из 7, страница 1 из 1
Как изменить данные в таблице на основании запроса из другой таблицы?
    #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
Как изменить данные в таблице на основании запроса из другой таблицы?
    #39958033
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать команду update.
...
Рейтинг: 0 / 0
Как изменить данные в таблице на основании запроса из другой таблицы?
    #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
Как изменить данные в таблице на основании запроса из другой таблицы?
    #39958046
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Moleskin,

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

https://docs.microsoft.com/ru-ru/sql/t-sql/queries/update-transact-sql?view=sql-server-ver15#OtherTables
...
Рейтинг: 0 / 0
Как изменить данные в таблице на основании запроса из другой таблицы?
    #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
Как изменить данные в таблице на основании запроса из другой таблицы?
    #39958076
Moleskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
ну так проблема в чём выходит, мне нужно заполнить поле PriceOut1 в соответствии с выборкой из запроса с формулой. Сделать бы как то типа

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

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

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


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