MS Access字符串替换查询

时间:2019-07-06 07:47:32

标签: sql ms-access access-vba

我有2个表,Table1Table2。我需要替换从Table1引用的Table2中的一个字符串或一系列字符串(用逗号分隔)。

我对此进行了查询,但是没有运气:

TableNew: Iif(Instr([Table1.ColumnX1],[Table2.ColumnY1],Replace([Table1.ColumnX1],[Table2.ColumnY1],[Table2.ColumnY2]),[Table1.ColumnX1])

我想要实现的目标是这样的,在Table1 ColumnX1中有:

A,B,C,1,2,3,4,D,E,F,5,6

然后在Table2中,我有

+----------+-----------+
| ColumnY1 |  ColumnY2 |
+----------+-----------+
| A        | Z         |
| B        | Y         |
| C        | X         |
| D        | W         |
| E        | V         |
| F        | U         |
+----------+-----------+

运行该查询后,它将导致

Z,Y,X,1,2,3,4,W,V,U,5,6

我希望它在Table1中可用的每一行中运行。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下查询来修改Table1所保存的值:

update table1 inner join table2 on instr(1, table1.columnx1, table2.columny1) > 0
set table1.columnx1 = replace(table1.columnx1, table2.columny1, table2.columny2)

请注意,上述查询中实现的联接不能由MS Access查询设计器显示,但是,它是有效的SQL,可以由MS Access使用的JET数据库引擎成功执行。