Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fehler in Multiple-Select-Anweisungen in der Insert-Anweisung

Ändern Sie einfach VALUES in SELECT und entfernen Sie die äußeren Klammern.

INSERT INTO dbo.Products 
(ProductName, 
 SupplierID, 
 CategoryID, 
 UnitsInStock, 
 UnitsOnOrder, 
 ReorderLevel, 
 Discontinued)
SELECT  
'Twinkies' , 
 (SELECT SupplierID FROM dbo.Suppliers WHERE CompanyName = 'Lyngbysild'),
 (SELECT CategoryID FROM dbo.Categories WHERE CategoryName = 'Confections'), 
 0, 
 0, 
 10, 
 0

Möglicherweise benötigen Sie auch ein TOP 1 auf die Unterausdrücke, aber das würde eine andere Fehlermeldung geben:Unterabfrage hat mehr als einen Wert zurückgegeben.