为啥选择不同存储的'As T'以及如何别名?
Posted
技术标签:
【中文标题】为啥选择不同存储的\'As T\'以及如何别名?【英文标题】:Why Select Distinct stored 'As T' and how to alias?为什么选择不同存储的'As T'以及如何别名? 【发布时间】:2020-01-20 13:27:18 【问题描述】:根据 ***.com (How do I count unique items in field in Access query?) 上另一个问题的有用回复,答案包含:
SELECT Count(*) AS N
FROM
(SELECT DISTINCT Name FROM table1) AS T;
为什么不同的选择别名为“As T”(即不是为什么字母 T,而是为什么这样做?)
如果您遇到以下情况:
SELECT Count(Long_Table_Name_Here.[Field1]) AS N
FROM
(SELECT DISTINCT Field1 FROM Long_Table_Name_Here) AS T;
你怎么还能给长表名取别名?
【问题讨论】:
【参考方案1】:因为 MS Access 要求 FROM
子句中引用的每个“对象”都有一个名称。表有一个默认名称——即它们的名称。 (实际上,您可以使用多部分名称或仅使用表名。)
至于您的第二个查询:
SELECT Count(Long_Table_Name_Here.[Field1]) AS N
FROM (SELECT DISTINCT Field1 FROM Long_Table_Name_Here) AS T;
这将导致语法错误,因为未定义 Long_Table_Name_Here
。您需要使用FROM
子句中定义的表别名:
SELECT Count(T.[Field1]) AS N
FROM (SELECT DISTINCT Field1 FROM Long_Table_Name_Here) AS T;
【讨论】:
以上是关于为啥选择不同存储的'As T'以及如何别名?的主要内容,如果未能解决你的问题,请参考以下文章