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 に答える