sql >> Base de Datos >  >> RDS >> Sqlserver

error en declaraciones de selección múltiple en declaración de inserción

Simplemente cambie VALORES a SELECCIONAR y elimine los paréntesis externos.

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

También puede necesitar un TOP 1 en las subexpresiones, pero eso daría un mensaje de error diferente:la subconsulta devolvió más de un valor.