为啥是 ”。” Access中的查询字段名称中允许但表字段名称中不允许?

Posted

技术标签:

【中文标题】为啥是 ”。” Access中的查询字段名称中允许但表字段名称中不允许?【英文标题】:Why is "." is allowed in query field name but not in table field name in Access?为什么是 ”。” Access中的查询字段名称中允许但表字段名称中不允许? 【发布时间】:2018-12-28 04:06:16 【问题描述】:

在 MS Access 查询中,如果我们从具有相同名称的不同表中选择两个字段。 Access 会自动在数据表视图中使用组合名称,例如:

Select table1.Name, Table1.Address, table2.Name ....

变成

table1.Name | Address| table2.Name

但是,如果我们尝试使用特殊字符“.”创建字段名称。在表格中,它不允许我们这样做。这是什么原因?

【问题讨论】:

table1.Name 不是字段名;它是一个表范围的字段名称(表table1 中的字段Name)。这有点像被介绍给“这是来自巴尔的摩的乔”的人,然后你会说“哦,多么漂亮的名字”并试图给你的孩子命名“来自巴尔的摩史密斯的乔”,并想知道为什么人们会奇怪地看着你。 【参考方案1】:

这是可能的,因为在查询中它实际上不是name,而是输出字段的alias。而且你还是不能写SELECT [table1.Name] AS [Name.With.Dots] ...

【讨论】:

以上是关于为啥是 ”。” Access中的查询字段名称中允许但表字段名称中不允许?的主要内容,如果未能解决你的问题,请参考以下文章

在access中,一个数据库中允许有多张表

Gatsby:在 GraphQL 查询中允许不存在的字段

为啥列表中允许使用尾随逗号?

在 laravel+vuejs 项目中允许 X-CSRF-TOKEN 吗?

限制表单输入文本字段中允许的字符数

为啥Java中允许受保护的静态? [关闭]