我在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
但它会插入新记录。
请帮忙。
答案 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