将文本字符串连接到特定值的末尾(MS ACCESS)

时间:2015-05-06 15:19:12

标签: sql ms-access-2010

< p>我需要添加" -CLOSED" Access查询中某些作业号的结束。我可以一次添加一个,但我需要为成千上万的值添加它。我不确定在WHERE子句中添加多个值的语法。< / p> < pre>< code> UPDATE t_loc SET t_loc.loc = t_loc.loc& " - 封闭" 在哪里t_loc.loc =' M14001' AND' M14003' < /代码>< /预>

1 个答案:

答案 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行时它更快,而不是在每个条件检查时返回所有行。