在Microsoft SQL Server中,
如果内部选择没有匹配条件,那么我需要用空白而不是null来更新Field1。
UPDATE Table1
SET Field1=(
SELECT Field2
FROM Table2
WHERE Table2.Field3 = Table1.Field4
)
答案 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
), '')