sql插入子查询

24s*_*ron 0 sql sql-server insert subquery

我想运行此查询

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)         
         )
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误

在此上下文中不允许子查询.只允许标量表达式.

我可以在一个查询中运行此查询,或者我需要在运行此查询之前获取值

谢谢

Rob*_*ert 5

尝试将其更改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)         
Run Code Online (Sandbox Code Playgroud)