Access 中的简单子查询

use*_*016 7 sql database ms-access

我有一个子查询问题,我确信它有一个非常简单的解决方案,但我不知道它是什么!

这就是我想要做的,我有两个表,比方说,客户和订单。客户表显然存储了个人客户的列表,而订单表存储了客户下的订单列表。我正在尝试创建一个查询,该查询将返回每个客户的详细信息以及该客户下的订单总额。尽我所能尝试我似乎无法让这个查询工作,因为它说:

“您编写了一个可以返回多个字段的子查询,而无需在主查询的 from 子句中使用 EXISTS 保留字。”

我正在尝试使用这样的方法,请有人建议出什么问题吗?

select
  customer.name,
  customer.address,
  (select sum(order.orderamount) from order, customer where order.customerid = customer.id)
from
  customer
Run Code Online (Sandbox Code Playgroud)

谢谢!

Flo*_*ita 5

select 
  customer.name, 
  customer.address, 
  (select sum(order.orderamount) from order where order.customerid = customer.id) as amount
from customer 
Run Code Online (Sandbox Code Playgroud)

但是你可以在没有子查询的情况下做到这一点:

select 
  customer.name, 
  customer.address, 
  sum(order.orderamount) 
from order 
   join customer on order.customerid = customer.id
group by   customer.name,   customer.address
Run Code Online (Sandbox Code Playgroud)

  • sql 是一个通用标签。在 ms-access(最初标记的访问)中不支持加入,您必须指定加入类型。 (3认同)