当前位置: 首页 > 文档资料 > SQL 合计函数 >

INNER JOIN 运算示例 (DAO)

优质
小牛编辑
116浏览
2023-12-01

INNER JOIN 运算示例

此示例创建了两个对等联接:一个是在订货明细表和订单表之间,另一个是在订单表和员工表之间。这是必需的,因为员工表不含业务人员数据,并且订货明细表不含员工数据。查询生成员工和他们的业绩列表。

此示例调用过程 EnumFields 过程,且可以在 SELECT 语句示例中找到该过程。

Sub InnerJoinX()

Dim dbs As Database, rst As Recordset

' 在您的计算机中修改此行使其正确指到 Northwind 的路径。

Set dbs = OpenDatabase("Northwind.mdb")

' 对运费超过 $100 的订单,

' 在订单明细和订单表之间创建联接

'

' 并且在订单和员工表之间创建联接。列出员工和他们的业绩

'

Set rst = dbs.OpenRecordset("SELECT DISTINCTROW " _

& "Sum(UnitPrice * Quantity) AS Sales, " _

& "(FirstName & Chr(32) & LastName) AS Name " _

& "FROM Employees INNER JOIN(Orders " _

& "INNER JOIN [Order Details] " _

& "ON [Order Details].OrderID = " _

& "Orders.OrderID ) " _

& "ON Orders.EmployeeID = " _

& "Employees.EmployeeID " _

& "GROUP BY (FirstName & Chr(32) & LastName);")

' populateRecordset。

rst.MoveLast

' 调用 EnumFields 来打印记录集的内容。

'传递记录集对象和要求的字符宽度。

'

EnumFields rst, 20

dbs.Close

End Sub