私はINSERT文で複数のSELECT文を持つクエリを書いていますエラーが
INSERT INTO dbo.Products
(ProductName,
SupplierID,
CategoryID,
UnitsInStock,
UnitsOnOrder,
ReorderLevel,
Discontinued)
VALUES
('Twinkies' ,
(SELECT SupplierID FROM dbo.Suppliers WHERE CompanyName = 'Lyngbysild'),
(SELECT CategoryID FROM dbo.Categories WHERE CategoryName = 'Confections'),
0,
0,
10,
0)
は、実際にはエラーに
Msg 1046, Level 15, State 1, Line 4
Subqueries are not allowed in this context. Only scalar expressions are allowed.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ','.
を与えます1つの値。
+1ありがとう... – Azhar
私はこの解決策に従っていますが、 ''サブクエリは2つ以上の値を返しました。サブクエリが=、!=、<, <= , >、> =、サブクエリが式として使用されるときは、これは許可されません。私はこれをどのように修正すべきですか? – overloading
@overloadingというエラーは、それが言うことを意味します。サブセレクトを変更して、複数の結果が存在しないことを確認する必要があります。あなたのやり方はあなたの状況によって異なります。 T-SQLでは、 'TOP 1'と' ORDER BY'を使って結果を制限したり、さらに 'WHERE'条件を指定することができます。それは本当にあなたがやっていることにかかっています。 – harpo