Мне нужно написать запрос 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
ВЫВОД:
P1 15
P2 2
P3 10
Select product_id, sum(quantity) from orders
where order_day = '11-07-02'
group by product_id
ВЫВОД:
P1 2
P2 4
P3 5
P4 6
P5 1
P6 2
Это дает мне желаемый результат, но я хочу, чтобы каким-то образом объединить столбцы.
запрос, который работал для меня: (Тем не менее ставит нуль при 0)
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;
Ваш входной и выходной образец Безразлично» t, но я _think_ вы могли бы уйти с простым сводным запросом. –