SQL Server: помощь при ВСТАВКЕ В

#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;