Sql server 我希望在表1中插入表2中的一些数据和常数

Sql server 我希望在表1中插入表2中的一些数据和常数,sql-server,select,sql-insert,Sql Server,Select,Sql Insert,下面是我正在使用的代码。sellingprice、type、BandID和IsPercent是常量 我希望插入多行,因为有多个描述为XYZ的产品 Insert into Table1 ([itemid],[SellingPrice],[Type],[BandID],[IsPercent]) values ((select ID from Table2 where Description like '%XYZ%'),26.5,0,20,1); 但我收到错误“子查询返回的

下面是我正在使用的代码。sellingprice、type、BandID和IsPercent是常量 我希望插入多行,因为有多个描述为XYZ的产品

    Insert into Table1 ([itemid],[SellingPrice],[Type],[BandID],[IsPercent]) 
    values
    ((select ID from Table2 where Description like '%XYZ%'),26.5,0,20,1);
但我收到错误“子查询返回的值超过1” 如何使用其他列值的常量从一个表中插入多个值(而不是全部)

插入表1([itemid]、[SellingPrice]、[Type]、[BandID]、[IsPercent])
选择ID作为itemid,选择26.5作为SellingPrice,选择0作为Type,选择20作为BandID,选择1作为iPercent
来自表2
其中的描述类似于“%XYZ%”;

语法为
INSERT。。选择
。值指定特定的values@PanagiotisKanavos
VALUES
是一种完全可以接受的格式,自SQL Server 2008年(甚至可能是2005年)起就得到了支持。请参阅@Larnu
VALUES
的示例A和B,它一直都在那个里,不仅仅是从2005年开始,而且它从来都不应该包含查询结果。当我发表评论时,额外的值被隐藏在右边。在任何情况下,要使此查询正常工作,都需要选择
INSERT
。如果子查询只返回单个值,则可以使用
,但这实际上是。。。问题是,你的评论给人的印象是,@PanagiotisKanavos;这根本不是真的
INSERT…VALUES
是有效的语法,只是不是OP应该使用的语法。这似乎是一个与您的.Bingo非常相似的问题。谢谢你的帮助。这节省了大量的人工输入