2012-02-27 8 views
1

誰かが答える時間があれば簡単に質問できます。現在のクエリはうまく機能しますが、注文数と合計配送数も取得する必要があります。私は数が結合のために投げ捨てられているのを知っています。カウント、合計、およびグループによるSQLクエリー

私は私の数との和がなることを知っている:私は、元の選択に数との和を使用して参加で、残りを処理する必要があると思うが、私の人生のために

count(DISTINCT orders.id) AS num_orders, 
SUM(orders.shipping_cost_ex_tax) AS shipping 

私はこの権利を得ることができません。

「別のクエリを実行する」場合でも、どんな助けもありがたいです。みんな、ありがとう。

現在のクエリ:

SELECT 
    IF(products.categories LIKE '68', 'Shirts', 'Books') AS group_key, 
    CONCAT(order_products.name) AS product_name, 
    brands.name AS author, 
    SUM(order_products.quantity) AS num_units, 
    CASE WHEN products.sku LIKE '%-WB' THEN 'Combo' 
     WHEN products.sku LIKE '%-BO' THEN 'Box' 
     ELSE '' 
    END AS item_type, 
    SUM(IF(order_products.discount IS NULL, order_products.price_ex_tax, (order_products.price_ex_tax - order_products.discount))) AS income 
FROM orders 
INNER JOIN order_products ON order_products.bc_order_id = orders.bc_id 
INNER JOIN products ON order_products.bc_product_id = products.bc_id 
INNER JOIN brands ON products.brand_id = brands.bc_id 
WHERE (orders.created_at BETWEEN '2012-01-28 00:00:00' and '2012-02-21 23:00:00') 
GROUP BY group_key, 
case when products.brand_id = '68' 
then products.name 
else products.sku 
end 
+0

使用しているSQL製品はどれですか? –

+0

結合があなたを捨てて、他のすべての嫌悪感を吹き飛ばせない場合、私は仕事のより小さな部分を行うサブクエリでそれを再加工しようとします。また、あなたの '収入'は 'SUM(order_products.price_ex_tax - COALESCE(order_products.discount、0))'と書くことができ、 'CONCAT(order_products.name)'は 'order_products.name'と同じです。 –

+0

ダニエルありがとうございます。私はそれを知ってはいたが、しなかったはずだった。 – livinginink

答えて

0

提供のコメントを見てみると、私の目の前にあなたの完全なスキーマを持っていません。この作品のようなものでしょう:

Table Report 
( 
    id, 
    countOrders, 
    countSales, 
    countShipping, 
    countTax, 
    datePublished 
) 

Table SoldProducts 
( 
    id, 
    price,  
    tax, 
    shippingPrice, 
    datePurchased 
) 

だからあなたは、この例ではどうなるのかは、あなたが生成されたレポートを持続しますSoldProductsから照会することにより、レポートを生成しています。

+0

申し訳ありませんが、私はちょっと明確にする必要があります。これは、一定期間の売上を表示する管理者レポートです。最初のセクションは全体の合計(注文数、合計販売額、合計出荷額、総税額)です。その下には、販売された製品別の内訳と、製品あたりの総販売数量とユニット数が表示されます。 – livinginink

+0

@ChrisYount私は自分の返信を更新しました。これらのレポートが多く生成されるにつれて、より簡単に役立つかもしれません。 – Woot4Moo

関連する問題