插入sql server中的现有临时表

时间:2015-01-19 05:46:44

标签: sql-server sql-server-2005

我在sql server中创建了一个临时表,并为其插入了值。 如果特定列的值为null,则需要使用另一个表中的某些值进行填充。如何查询?

以下给出的样本数据。

select 'name' as name,3 as age,'email' as email into #tmp1 from table1

现在,如果列年龄为空,我需要在列时间内插入一个值到tmp1中的所有现有记录。

INSERT INTO #tmp1 (age)SELECT age AS [age] FROM table2 WHERE name=@name 

但它会插入新记录。

请帮忙。

2 个答案:

答案 0 :(得分:1)

你想要UPDATE,而不是INSERT

这样的事情:

UPDATE  #tmp1 
SET age = Table2.Age
FROM table2
WHERE #tmp1.Age IS NULL
AND   #tmp1.Name = Table2.Name

答案 1 :(得分:0)

您需要更新而不是插入:

Update a
a.age = b.age
from
(select id,age from table where age is null) a 
inner join
table b 
ON a.id = b.id