使用isNull更新

时间:2018-02-13 17:13:36

标签: sql sql-server

在Microsoft SQL Server中,

如果内部选择没有匹配条件,那么我需要用空白而不是null来更新Field1。

UPDATE Table1
SET Field1=(
    SELECT Field2
    FROM Table2
    WHERE Table2.Field3 = Table1.Field4
)

4 个答案:

答案 0 :(得分:3)

请尝试这样 -

<Your Query> 
UNION ALL
<Your Query>

答案 1 :(得分:3)

您可以使用SQL Server的UPDATE ... FROM ...语法引用另一个表:

UPDATE  t1
SET     field1 = COALESCE(t2.field2, '')
FROM    Table1 t1
LEFT JOIN
        Table2 t2
ON      t2.Field3 = t1.Field4

答案 2 :(得分:1)

试试这个

UPDATE T1 
SET T1.Field1=isnull(T2.Field2,'')
from Table1 T1 left join Table2 T2
    ON T2.Field3 = T1.Field4

答案 3 :(得分:1)

COALESCE()函数返回列表中的第一个非null表达式。您可以保留大部分原始查询,方法是使用COALESCE()用空字符串替换该查询中的任何NULL。

UPDATE Table1
SET Field1=COALESCE((
    SELECT Field2
    FROM Table2
    WHERE Table2.Field3 = Table1.Field4
), '')