我有一个Subquery问题,我确信它有一个非常简单的解决方案,但我无法弄清楚它是什么!
这是我正在尝试做的事情,我有两张桌子,比方说客户和订单。客户表显然存储了单个客户的列表,订单表存储了客户发出的订单列表。我正在尝试创建一个查询,该查询将返回每个客户的详细信息以及该客户下达的总订单金额。尽我所能,我似乎无法让这个查询工作,因为它说:
“您编写的子查询可以返回多个字段而不使用主查询的from子句中的EXISTS保留字。”
我想尝试这样的东西,请问任何人可以提出什么问题吗?
select
customer.name,
customer.address,
(select sum(order.orderamount) from order, customer where order.customerid = customer.id)
from
customer
谢谢!
答案 0 :(得分:3)
select
customer.name,
customer.address,
(select sum(order.orderamount) from order where order.customerid = customer.id) as amount
from customer
但你可以在没有子查询的情况下做到这一点:
select
customer.name,
customer.address,
sum(order.orderamount)
from order
join customer on order.customerid = customer.id
group by customer.name, customer.address