0

我有一个包含客户的表格和另一个包含所有订单的表格。

我想显示一个客户列表,并同时显示他们订单的总价值。

显然,我可以遍历客户,然后使用 PHP 运行另一个查询来获取每个客户的收入。我不认为这是有效的。

我希望实现这样的目标:

SELECT username, [SELCT sum(revenue) from orders where userID=userID] from customers

为此显示输出:

bob      10000
jeff     25000
alan     500
4

4 回答 4

1
SELECT  a.username, SUM(b.revenue) totalRevenue
FROM    customers a
        LEFT JOIN Orders b
            ON a.userID = b.UserID
GROUP   BY a.username

这将列出所有有或没有的客户Orders

要进一步了解有关加入的更多信息,请访问以下文章,

于 2013-01-25T15:57:15.413 回答
0

你很近...

 SELECT username, (SELECT sum(revenue) from orders where userID=c.userID) rev 
 from customers c
于 2013-01-25T15:57:23.200 回答
0

您可以加入表格并按订单名称对它们进行分组

SELECT o.username, 
       sum(revenue) as sum_revenue
from orders  o
left outer join customers c on c.userid = o.userid
group by o.username
于 2013-01-25T15:57:42.947 回答
0

不需要子选择。尝试这样的事情: -

SELECT customers.userID, customers.username, SUM(revenue)
FROM customers INNER JOIN orders ON customers.userID = orders.userID
GROUP BY customers.userID, customers.username
于 2013-01-25T15:58:24.040 回答