SQL SeErver: оператор INSERT, вычислить два значения столбца
У меня есть три таблицы:
- Voucher_Codes (Amount_Used)
- Подарочные сертификаты (сумма)
- Order_Header (Order_Voucher_Amount)
Я хочу вставить данные из столбца Voucher_Codes
в Order_Header
, Но мне нужно сделать этот расчет, прежде чем я смогу объединить данные:
3 = 2 - 1
Как я могу это сделать, и, если возможно, я могу сделать это, затем удалить Voucher_Codes
позже, не затрагивая мои наборы данных?
1 ответ
Решение
Попробуйте этот код:
SELECT *,
(SELECT (Voucher_Codes.Amount_Used - Gift_Vouchers.Amount) AS Order_Voucher_Amount
FROM Voucher_Codes
JOINT Gift_Vouchers ON Voucher_Codes.KEY = Gift_Vouchers.KEY)
FROM Order_Header
JOINT Voucher_Codes ON Voucher_Codes.KEY = Order_Header.KEY
Затем вы можете вставить новые данные в эту скорректированную таблицу.