【发布时间】:2018-12-22 19:15:24
【问题描述】:
UPDATE tb
FROM Table1 tb,
(
SELECT oreplace(data, '.', '') AS data FROM Table2
) tb2
SET column = 'Y'
WHERE tb.column1 = tb2 .data OR tb.column2 = tb2 .data
OR tb.column3 = tb2 .data OR tb.column4 = tb2 .data OR tb.column5 = tb2 .data
OR tb.column6 = tb2 .data ... upto tb.column15 = tb2 .data;
表 1 中的列默认为“N”。执行此更新查询时,我收到“由多个源行更新目标行”错误。我尝试使用 discint,但收到与没有重复项相同的错误。请帮忙。
谢谢!
【问题讨论】:
-
我确定问题出在所有这些 OR 上。不是你有重复的行,而是OR条件匹配多行。
-
Table1 和 Table2 的完整定义是什么?