Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缩减结果所需的Access SQL查询_Sql_Ms Access - Fatal编程技术网

缩减结果所需的Access SQL查询

缩减结果所需的Access SQL查询,sql,ms-access,Sql,Ms Access,我在MS Access数据库中有一个表,需要创建一个查询来缩减结果。例如: 这是表格: ------------------------------------- search code | relation | environment | ------------------------------------- Server.PRD | installs | Production | ------------------------------------- Server.DEV |

我在MS Access数据库中有一个表,需要创建一个查询来缩减结果。例如:

这是表格:

-------------------------------------
search code | relation | environment |
-------------------------------------
Server.PRD  | installs | Production  |
-------------------------------------
Server.DEV  | installs | Development |
-------------------------------------
我需要在查询视图中显示的结果:

---------------------------------------------------------
search code short | search code | relation | environment |
---------------------------------------------------------
Server            | Server.PRD  | installs | Production  |
---------------------------------------------------------
Server            | Server.DEV  | installs | Development |
---------------------------------------------------------
我很难设计一个查询来显示上面的结果。因此,我试图将任务分解成小块,但现在我被困在了第一步:

我试图切掉“PRD”或“DEV”字符(其中一些是类似于“PROD”的4个字符,它们并不总是在搜索代码的末尾,例如,它可能是“Server.PROD.DB”),我运行的查询是:

SELECT TRIM(TRAILING 'PRD' FROM SELECT search code FROM TABLENAME)
但这显然不起作用。有人能给我一些想法来写一个查询来显示结果吗

提前感谢。

尝试
左([search code]),左([search code])-3)

编辑:要搜索
,请使用
INSTR
功能,如下所示:
左([search code],INSTR([search code]),'.')-1)

编辑:要处理空值、空字符串等:

IIF
(
   (INSTR([search code], '.') = 0 OR [search code] IS NULL), 
   [search code], 
   LEFT([search code], INSTR([search code], '.') - 1)
)

注意:这不会处理同一个值中的多个

感谢您的快速响应。左功能有效!但我需要的不仅仅是删除每个搜索代码的最后三个字符。请参考我问题中粗体的句子。抱歉造成歧义。您的SELECT=构造在ANSI-92查询模式下不适用于我。这只是一个ANSI-89查询模式吗?…也不会处理所有可能出现的情况,例如空值、空字符串等。请尝试将“[search code short]=LEFT([search code]、InStr([search code]、”)-1)”更改为“LEFT([search code]、InStr([search code]、”)-1)作为[search code short]”。这个问题没有提到空字符串或空字符串。。。[:)]
SELECT [search code short] = LEFT([search code], InStr([search code], '.') - 1),
       [search code],
       relation
       environment
FROM TABLENAME