Я пытаюсь вставить сумму цен из другой таблицы.с использованием предложения WHERE в триггере INSERT SQL
INSERT INTO Invoice_Of_Supplier (OrderSupplierID, PaymentStatus, Cost)
VALUES (
(SELECT OrderSupplierID FROM inserted),
0,
(SELECT SUM([Price(RUB)]) FROM Car
JOIN OrderOfSupplier_Car AS osc ON osc.CarID=Car.CarID
where osc.OrderSupplierID = (select OrderSupplierID from inserted)))
У меня есть Car
таблицы с полями price
, CarID
и т.д.;
Order_Of_Supplier
стол с полями OrderSupplierID
, SupplierID
;
И Order_Of_Supplier_Car
таблица, в которой есть ряд машин для каждого заказа (поля CarID
, OrderSupplierID
)
Мне нужно вставить строку в таблице «InvoiceOfSupplier» с полей «OrderSupplierID», PaymentStatus
и Cost
,
OrderSupplierID
и PaymentStatus
в порядке, но Cost
является NULL
, и я не могу понять, почему. Когда я меняю на osc.OrderSupplierID = 2
(получение OrderSupplierID
напрямую), он не работает niether. Это работает, когда я удаляю все условия типа «ГДЕ», но в этом случае он получает «Цена (RUB)» всех заказов, а не тот, который мне нужен.
РЕДАКТИРОВАТЬ: Проблема заключается в том, что в данные момент был вставлен в Order_Of_Supplier
не было никаких данных в Order_Of_Supplier_Car
.
'SUM ([Цена (RUB)])' .. цена - это функция? – Moumit
Невозможно помочь, не зная больше о ваших данных. Как мы знаем, что вы не получаете точно правильных результатов? Пожалуйста, разместите образцы данных и результаты, которые вы ожидаете получить от него. –
Извините, цена (руб.) - это столбец, а не fuction. –