在SQL Server 2008中使用select语句和附加列插入表中

Cho*_*oos 9 sql-server sql-server-2008

我试图从select语句插入一个表,并添加其他参数到行,如下所示 -

SELECT 
        Appt_ID,
        Pracitioner_ID,
        Appt_Book_ID,
        Start_Time,
        UR_NO,
        [Type],
       [Description]
FROM @TempWaiting,
 @EndTime,
 @PatientID, 
 @Title, 
 @FirstName, 
 @LastName, 
 @Surname, 
 @DOB
INTO PS_WAITING_LIST(Appt_ID,   
        Pracitioner_ID,
        Appt_Book_ID,
        Start_Time,
        UR_NO,
        [Type],
        [Description],
        End_Time,
        Patient_ID, 
        Title,
        First_Name,
        Middle_Name,
        Surname,
        DOB)
Run Code Online (Sandbox Code Playgroud)

这是在一个存储过程中,所有它说是INTO后的错误.

我也尝试重写它 -

insert into PS_WAITING_LIST (
        Appt_ID,    
        Pracitioner_ID,
        Appt_Book_ID,
        Start_Time,
        UR_NO,
        [Type],
        [Description],
        End_Time,
        Patient_ID, 
        Title,
        First_Name,
        Middle_Name,
        Surname,
        DOB)
SELECT 
        Appt_ID,
        Pracitioner_ID,
        Appt_Book_ID,
        Start_Time,
        UR_NO,
        [Type],
        [Description]
FROM @TempWaiting,
 @EndTime,
 @PatientID, 
 @Title, 
 @FirstName, 
 @LastName, 
 @Surname, 
 @DOB
Run Code Online (Sandbox Code Playgroud)

这会抛出一个错误,指出选择值的数量必须与插入列的数量匹配.显然那不是.

我也试过Insert into table(col1,col2 ..)Select*from(select(...),col3,col9)

jue*_*n d 18

通常它的工作原理如下

insert into your_table (col1, col2, col3)
select some_column, @aVariable, 'static_string'
from another_table
Run Code Online (Sandbox Code Playgroud)