2016-10-28 14 views
0

誰かがアイテムを購入するとき、私は私が金額と日付mysqlグループの結果は、JOIN

payments table

いくつかのバイヤーがアイテム(出荷のサポートを追加サービスを必要とすると1件のレコードを追加支払いテーブルを持っています... ) はので、私は、サービスの価格とサービスのテーブルを持っていると

Services Table

をpayment_id私はこの

0123のような結果が欲しいです
date - Sum(payments) - Sum(services) 
01-01-2016 - 200   -  100 
02-01-2016 - 200   -  100 
03-01-2016 - 100   -  0 

私はこのクエリ

SELECT DATE(FROM_UNIXTIME(date)),SUM(amount),SUM(price) 
FROM payments 
LEFT JOIN services ON payments.id = service.payment_id 
GROUP BY DATE(FROM_UNIXTIME(date)) 

が、値次の2つのテーブルを結合し、各支払の価格を合計サブクエリを使用する必要があり、事前

答えて

2

で 感謝を重複戻りを試してみました。次に、その結​​果を日付別にグループ化できます。

SELECT date, SUM(payments), SUM(services) 
FROM (
    SELECT DATE(FROM_UNIXTIME(p.date)) AS date, p.amount AS payments, IFNULL(SUM(s.price), 0) AS services 
    FROM payments AS p 
    LEFT JOIN services AS s ON p.id = s.payment_id 
    GROUP BY p.id 
) AS subquery 
GROUP BY date 
+0

urヘルプありがとうございますが、クエリのtotalpriceがNULLを返します。 –

+0

サンプルデータを使用してsqlfiddleを作成するか、画像をテキストに置き換えてデモにコピーして貼り付けることはできますか? – Barmar

+0

私は問題を見て、私は答えを変更しました。 – Barmar

関連する問題