#sql #sql-server #sql-insert #adventureworks
#sql #sql-сервер #sql-вставка #adventureworks
Вопрос:
У меня проблема, когда мне нужно создавать новые записи в SpecialOfferProduct
таблице. Я применяю созданную мной функцию discount ( SpecialOfferID = 20
) ко всем продуктам, запасы которых превышают 1800, но я не могу понять, что я делаю не так. это мой код.
INSERT INTO Sales.SpecialOfferProduct (ProductID SpecialOfferID)
SELECT ProductID
FROM Production.ProductInventory
GROUP BY ProductID
HAVING SUM(Quantity) > 1800, 20 AS SpecialOfferID;
Это из AdventureWorks2012
базы данных
Спасибо
Комментарии:
1. если ваш код this работает, то проблема заключается в insert
SELECT ProductID FROM Production.ProductInventory GROUP BY ProductID HAVING sum(Quantity) > 1800, 20 AS SpecialOfferID;
при вставке i don’t this вам нужен псевдоним, подобный этому(ProductID SpecialOfferID)
, и если specialofferid — это другой столбец, то он должен быть рядом с productid в запросе select
Ответ №1:
вы это имели в виду
INSERT INTO Sales.SpecialOfferProduct (ProductID ,SpecialOfferID)
SELECT ProductID, 20 AS SpecialOfferID FROM Production.ProductInventory
GROUP BY ProductID
HAVING sum(Quantity) > 1800;