Обновление в SQL из оператора select в другую таблицу - PullRequest
0 голосов
/ 12 июля 2019

У меня есть запрос выбора и работает нормально. Теперь вывод этого запроса я хочу обновить в другой таблице.

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

SELECT  
    CostID as CostID,
    SUM(Budget) as Budget,
    SUM(TD) as TD,
    SUM(Forecast) as Forecast,

FROM    
    A

GROUP BY 

    TD,
    Forecast,
    CostID,
    Cost,

)

Я хочу обновить CostID, Сумма Budget, Сумма TD, Forecast в другой таблице.

1 Ответ

1 голос
/ 12 июля 2019

Есть ли в другой таблице ключ, к которому вы можете присоединиться к своему оператору выбора, указанному выше?

Если есть ключ, вы можете просто написать оператор обновления:

    UPDATE        SOURCE_TABLE
    SET           SOURCE_TABLE.Cost_ID = NEW_QUERY.Cost_ID
                  SOURCE_TABLE.Budget = NEW_QUERY.Budget
                  SOURCE_TABLE.TD = NEW_QUERY.TD
                  SOURCE_TABLE.Forecast = NEW_QUERY.Forecast
    FROM          SOURCE_TABLE
    INNER JOIN
    (
        SELECT        CostID as CostID,
                      SUM(Budget) as Budget,
                      SUM(TD) as TD,
                      SUM(Forecast) as Forecast
        FROM          A
        GROUP BY      TD,
                      Forecast,
                      CostID,
                      Cost
    )       AS NEW_QUERY
    ON            SOURCE_TABLE.joining_key = NEW_QUERY.joining_key
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...