私のSQLの問題を解決するために助けてください。 は私のDBで、私は は、SQLのユニオン3テーブルに参加する
を以下のように3つのテーブルを持っている私は、特定のための請求合計返金と合計を表示し、この方法は、(現金、クレジットカードまたはチェックアウト)を払い戻すか、または請求書に使用されているクエリを書いています注文。
私のクエリは次の通りです:
SELECT Method, SUM(total_invoiced), SUM(total_refunded)
FROM
(SELECT refunds.method_rf AS Method, 0 AS total_invoiced,
SUM(refunds.ref_value) AS total_refunded
FROM refunds LEFT JOIN orders ON(refunds.order_id = orders.entity_id)
WHERE (orders.entity_id = 3)
GROUP BY Method
union
SELECT invoices.method_in as Method, SUM(invoices.inv_value) AS
total_invoiced, 0 AS total_refunded
FROM invoices left JOIN orders ON(invoices.order_id = orders.entity_id)
WHERE (orders.entity_id = 3)
GROUP BY Method)main_table
GROUP BY Method
出力は、私が期待したものです。ここでは、
である私の質問は: がインオーダーである私の繰り返し条件を削除するには、私のクエリを書き直すとにかくがある場合(orders.entity_id = 3)と、クエリは次のようになります。
SELECT Method, SUM(total_invoiced), SUM(total_refunded)
FROM
(SELECT refunds.method_rf AS Method, 0 AS total_invoiced,
SUM(refunds.ref_value) AS total_refunded
FROM refunds LEFT JOIN orders ON(refunds.order_id = orders.entity_id)
GROUP BY Method
union
SELECT invoices.method_in as Method, SUM(invoices.inv_value) AS
total_invoiced, 0 AS total_refunded
FROM invoices left JOIN orders ON(invoices.order_id = orders.entity_id)
GROUP BY Method)main_table
"PUT YOUR CONDITION"
GROUP BY Method
互換性のないデータベースタグを削除しました。実際に使用しているデータベースのみにタグを付けてください。 –
各クエリにentityidを追加して、それをグループ化するだけです。外側の選択は、それによってフィルタリングすることができます。これは遅くなります – xQbert