如何有条件地插入表

时间:2013-01-28 18:12:25

标签: sql-server-2008 select insert

我有一个表tbl1(col1,col2,col3,...,coln),col1和col2一起是主键。我试图使用以下查询

将临时表#t中的记录插入tbl1
insert into tbl1(col1, col2, col3, ..., colm)
select #t.col1, #t.col2, #t.col3, ..., #t.colm
from #t where col2 <> #t.col2

然而,我收到以下错误,无法绑定多部分标识符“tblDailyBalanceHistory.BalanceDate”。如何修复查询?

1 个答案:

答案 0 :(得分:1)

我认为您的问题与您的WHERE标准有关。你不能说col2&lt;&gt; #t.col2因为col2尚未定义。

尝试这样的事情:

insert into tbl1(col1, col2, col3, ..., colm)
select #t.col1, #t.col2, #t.col3, ..., #t.colm
from #t 
   left join tbl1 on #t.col2 = tbl1.col2
where tbl1.col2 is null
祝你好运。