我正在尝试使用另一个表中的字段来更新一个表:
Update x
From y
Set 1=y.1, 2=y.2, 3=y.3
Where y.4="*Cash*" and y.5="*Use*"
这可能吗?还是我必须使用内部联接或子查询?我的更新语法中不断出现错误:“缺少或无效选项”。
你似乎在要求类似的东西
UPDATE x
SET (col1, col2, col3) = (select y.col1, y.col2, y.col3
from y
where y.col4 = '*Cash*'
and y.col5 = '*Use*')
通常,会有一些附加条件与表格x
和y
. 如果针对的查询y
返回单行,并且您想x
使用该单行数据更新每一行,则没有必要。但通常情况下,你会有类似的东西
UPDATE x
SET (col1, col2, col3) = (select y.col1, y.col2, y.col3
from y
where y.col4 = '*Cash*'
and y.col5 = '*Use*'
and x.someKey = y.someKey)
如果您只想更新x
其中具有匹配行的行y
UPDATE x
SET (col1, col2, col3) = (select y.col1, y.col2, y.col3
from y
where y.col4 = '*Cash*'
and y.col5 = '*Use*'
and x.someKey = y.someKey)
WHERE EXISTS( select 1
from y
where y.col4 = '*Cash*'
and y.col5 = '*Use*'
and x.someKey = y.someKey)