而不是使用Access设计视图将视图更改为SQL。 我将尝试概述Access中用于SQL查询的常规语法。
使用尖括号<>代替必须提供的某些语法元素。 这些元素的描述将包含在尖括号中。
方括号[]用于显示哪些部分是可选的。
基本的SELECT查询SELECT <字段列表>
从<表/查询名称>
[在<在字段列表上设置条件的地方>]
[按<组将值分组的字段>]
[具有<在分组字段上设置标准>]
[ORDER BY <要排序的字段> ASC / DESC];
参量在SQL语句之前定义定义在查询中的任何参数的数据类型。 当您要求用户在打开的窗体上的控件中输入值或匹配值时,此功能很有用。
PARAMETERS [Enter Date:] DateTime
SELECT OrderID, OrderDate
FROM tblOrders
WHERE OrderDate = [Enter Date:]
存在
您可以使用此关键字来测试是否可以返回满足子查询中的选择的值。 以下查询将返回所有已开具发票的客户。
SELECT CustID
FROM tblCustomer
WHERE EXISTS
( SELECT * FROM tblInvoice
WHERE tblInvoice.CustID = tblCustomer.CustID)
汇总功能
创建包含诸如Avg(),Count(),Sum()等聚合函数的SQL语句通常需要GROUP BY子句。
如果将聚合函数放在字段上,则查询返回的所有字段必须包含在聚合函数或GROUP BY子句中。 以下查询将返回会员支付的费用总额。
SELECT tblMember.MemberID, tblMember.MemberName, Sum(tblFees.Fee)
FROM tblMember INNER JOIN tblFees
ON tblMember.MemberID = tblFees.MemberID
GROUP BY tblMember.MemberID, tblMember.MemberName;
如果您在上述查询中(在GROUP BY子句中)包括任何其他字段,则费用总和也将在该字段中细分。
交叉表查询
交叉表查询可用于使用另一列中的值来汇总单个值,并使用其他列来定义按行分组。 语法为:
TRANSFORM <使用合计函数的表达式>
<SELECT语句>
PIVOT <要汇总的字段>
[IN <值列表>]
例如,要获取每个销售员每月的总销售额,您可以执行以下操作:
TRANSFORM Sum(tblInvoice.InvoiceAmt) As Total Sales
SELECT SalepersonID, FirstName, Surname
FROM tblSalesPeople INNER JOIN tblInvoice
ON tblSalesPeople.SalespersonID = tblInvoice.SalespersonID
WHERE Year(tblInvoice.InvoiceDate) = Year(Now())
PIVOT MonthName(Month(tblInvoice.InvoiceDate), True)
IN ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
有关SQL查询的其他一些有用的文章 访问 查询的 基本SQL语法 SQL 存储查询与SQL语句中的 SQL JOIN 子 查询
From: https://bytes.com/topic/access/insights/742510-queries-access-using-sql-view