我正在弄清楚如何与查询进行映射(基于键)。我得到的答案是这样的,
UPDATE Table1
SET group1 = CASE customer_code
WHEN 'a' THEN 'groupAB'
WHEN 'b' THEN 'groupAC'
END,
group2 = CASE customer_code
WHEN 'a' THEN 'group12'
WHEN 'b' THEN 'group13'
END
WHERE customer_code IN ('a','b')
但是,当有这么多键时,例如我有一百多个键,将其映射并更新到表中,需要付出很大的努力。
我的问题是,是否有任何查询可以根据两个表中的相同键轻松更新。我收到这个查询,
update Table1 t1
set
(
t1.group1
) = (
select
t2.group2
from
Table2 t2
where
t2.name2 = t1.name1
)
但是,我总是收到错误消息,例如“第 2 行:'t1' 附近的语法不正确” 使用别名在这里不能正常工作吗?
提前致谢。
最佳答案
使用此语法:
UPDATE
Table1
SET
Table1.group1 = Table2.group2
FROM
Table1
INNER JOIN
Table2
ON
Table1.name = Table2.name
关于sql - 根据不同表中的键查询更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30022043/