0

我试图在一个插入到临时表中插入一个子选择。事情是我想使用一个插入,在这个插入中我想将我的子选择插入到临时表的第三列。我知道我在第一个选择中只有 2 个参数,诀窍是第三个。如何使用 1 个插入和 1 个子选择进入 col 3。我收到错误消息

Msg 120, Level 15, State 1, Procedure Stored_Procedure, 
Line 24 The select list for the INSERT statement 
contains fewer items than the insert list. The         
number of SELECT values must match the number of INSERT columns.

这是我的代码。

insert into #Temp (Col01,Col02,Col03)
select X, Y from Table
where Y = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
and Z = '8:00' (Select X from Table 
where Datum = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
and Z = '17:00')
4

2 回答 2

0

参数数量与值不匹配

插入#Temp (Col01,Col02,Col03)--参数 3 选择 X, Y --values 2

  insert into #Temp (Col01,Col02,Col03)
  select X, Y , Z from Table
  where Y = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
  and Z = '8:00' (Select X from Table 
  where Datum = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
 and Z = '17:00')
于 2013-10-01T09:23:40.960 回答
0

这就是我解决它的方法。如果你想使用 1 插入子选择,你应该这样做。

    insert into #ExcelPrint (Col01,Col02,Col03)
    select 
    Z,
    X as X_8, 
    (Select Kl_17.X from Table as Kl_17
    where Kl_17.Y = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
    and Kl_17.X = '17:00' 
    and Kl_17.Z = Table.Z) 
    as X_17
    from Table
    where Datum = CONVERT(varchar,Dateadd(DD,-0,GETDATE()),112)
    and Z = '8:00' 
于 2013-10-01T09:30:43.167 回答