【发布时间】:2021-10-10 10:00:44
【问题描述】:
我有一个使用 MS Access 进行的类似这样的简单 SQL 查询:
SELECT DISTINCT MID(table1.OZ, 1, 8) as OZ, table1.column1, table1.Description, table1.PSet
FROM table1, table2
WHERE table2.OZ = table1.OZ AND
table1.column1= table2.column1
表格如下所示:
| OZ | column1 | Description | Pset |
|---|---|---|---|
| 01.02.03 | some text | description | pset_LG |
| 01.02.03 | some text | description | pset_Text |
| 01.02.03 | some text | description | pset_ULG |
OZ 由如下数字组成:xx.xx.xx 并且 Pset 始终具有三个可能的值:pset_LG、pset_Text 和 pset_ULG。现在回答我的问题:
我想根据 Pset 更改 OZ。如果我有 pset_LG,我想去掉最后四个数字,这样 OZ 将只显示 01。如果我有 pset_Text,我想提取第三和第四个数字 (02),对于 pset_ULG,我想提取 03,所以最后两个数字。是否可以更改我的初始 SQL 查询,以便调整表?我尝试在 MS Access 中使用UPDATE [table] 进行新查询,但我收到一条错误消息,指出该操作必须使用可更新查询。我通常似乎无法真正解决我的问题,所以我非常感谢各种帮助。
【问题讨论】:
-
您问题中的查询与您的要求有什么关系?您要更新 table1 还是要 SELECT 查询?
-
只要根据 Pset 过滤 OZ,一切都很好。 Gordon Linoff 的回答非常好! :)