Выберите из двух разных таблиц и сохраните вычисленное значение во вновь созданной таблице (Microsoft SQL Server 2014)

Что было бы наилучшим способом получения значений из двух разных таблиц, например, в 1-й таблице есть значение Price, где во 2-й таблице есть значение количества, а я умножу цену на количество и вычисленные значения Total_Price, которые будут храниться в таблице. 3 (недавно созданный). Сначала я попытался использовать FUNCTION, но выскакивает много ошибок, поэтому я изменяю его на CTE. Но мой учитель предлагает мне не использовать временные таблицы, потому что, когда в таблицы добавляются новые данные строк, нам нужно снова запускать CTE, чтобы обновлять его при каждом добавлении новой записи. Есть ли другой метод? Спасибо.

1 ответ

Решение

Вы можете попробовать что-то вроде (синтаксис не проверен!):

INSERT INTO Table_3 (Cur_Date,Prod,Qty,Total_Price)
            VALUES  (GETDATE()               ,  
                     <the passed product_ID> ,
                     <the passed quantity>   ,
                     (SELECT (A.Quantity * B.Price) 
                        FROM Table_1 A ,
                             Table_2 B
                       WHERE A.Product = <Your passed product ID>
                         AND A.Product = B.Product
                     )
                    );

Фактическая формулировка будет зависеть от вашей СУБД.

Другие вопросы по тегам