特定の日に合計売上を見つけるためにmysqlクエリを作成する必要があります。私はそれを見つけることができますが、組み合わせた結果を表示することはできません。出力の組み合わせを表示するMySQLクエリ
の表は、次のようになります。
Date, Order_id, Product_id, Quantity
'01-JUL-11',O1,P1,5
'01-JUL-11',O2,P2,2
'01-JUL-11',O3,P3,10
'01-JUL-11',O4,P1,10
'02-JUL-11',O5,P3,5
'02-JUL-11',O6,P4,6
'02-JUL-11',O7,P1,2
'02-JUL-11',O8,P5,1
'02-JUL-11',O9,P6,2
'02-JUL-11',O10,P2,4
所望の出力:
Product_id Total Sales on Day '02-JUL-11' Total Sales on Day '02-JUL-11'
P1 15 2
P2 2 4
P3 10 5
P4 0 6
P5 0 1
P6 0 2
私は何をしようとしたことは次のとおりです。
Select distinct product_id
from orders;
出力:
P1
P2
P3
P4
P5
P6
Select product_id, sum(quantity) from orders
where order_day = '11-07-01'
group by product_id
OUTPUT:
P1 15
P2 2
P3 10
Select product_id, sum(quantity) from orders
where order_day = '11-07-02'
group by product_id
OUTPUT:
P1 2
P2 4
P3 5
P4 6
P5 1
P6 2
これは私に望ましい結果を与えるが、私は何とか列を結合したいです。私のために働いた
問合せ:あなたのレポートにまとめた唯一の二日間は、単純な(非ダイナミック)ピボットクエリはトリックを行う必要があります必要がある場合は
Select X.product_id, X.s, Y.t from
(SELECT A.product_id as product_id, B.s as s FROM
(Select distinct product_id
from orders) A
LEFT JOIN
(Select product_id, sum(quantity) as s from orders
where order_day = '11-07-01'
group by product_id) B
ON A.product_id = B.product_id) X
Left join
(Select product_id, sum(quantity) as t from orders
where order_day = '11-07-02'
group by product_id) Y
on X.product_id = Y.product_id;
あなたのサンプル入力と出力が」doesnのあなたは単純なピボットクエリーで逃げることができるかもしれません。 –