答案 0 :(得分:0)
WHERE t_loc.loc = 'M14001' AND 'M14003'
无效,因为您说该列将在同一列中包含这两个值(我不确定这是否是MS Access中的正确语法)。
如果要为多列设置它,则需要检查该列是否包含特定值。以下是如何为多个值设置它的简短方法:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE t_loc.loc IN ('M14001', 'M14003')
如果您想添加更多,则可以在括号内添加其他值。但是,既然你正在讨论成千上万的值,那么最好有一个包含值的临时表,然后将其更改为:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE EXISTS
(
SELECT temploc.val
FROM temploc
WHERE temploc.val = t_loc.loc
)
我选择在第二个查询中使用EXISTS
而不是IN
,因为当内部选择返回1行时它更快,而不是在每个条件检查时返回所有行。