简体   繁体   English

sql插入子查询

[英]sql insert into with sub-query

I want to run this query 我想运行此查询

INSERT INTO [tblPollLogs]
           ([lastModified]
           ,[ip]
           ,[a1]
           ,[a2]
         )
     VALUES
           (getdate()
           ,'aaa'
           ,(select top 1 header from [tblPollAnswer] where [pollAnswerId] = @param1)
           ,(select top  1 header from [tblPollAnswer] where [pollAnswerId] = @param2)         
         )

But I get the error 但是我得到了错误

Subqueries are not allowed in this context. 在这种情况下,不允许子查询。 Only scalar expressions are allowed. 仅允许标量表达式。

can i run this query in one query or i need get the values before running this query 我可以在一个查询中运行此查询还是我需要在运行此查询之前获取值

thanks 谢谢

Try to change it to insert...select as below 尝试将其更改为insert...select如下insert...select

INSERT INTO [tblPollLogs]
           ([lastModified]
           ,[ip]
           ,[a1]
           ,[a2]
         )
select getdate(),
       'aaa',
      (select top 1 header from [tblPollAnswer] where [pollAnswerId] = @param1),
      (select top  1 header from [tblPollAnswer] where [pollAnswerId] = @param2)         

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM