Как изменить результат запроса без использования сводных функций? - PullRequest
0 голосов
/ 08 июня 2018

У меня есть запрос, который показывает количество дешевых и дорогих заказов на дату:

 SELECT   od1.date,
  (SELECT COUNT(  od2.id) FROM myorders od2
    INNER JOIN myproducts ON od2.product_id = myproducts.id
  WHERE  od2.date = od1.date
         AND myproducts.price BETWEEN 500 AND 2000
         ) cheap_orders,
  (SELECT SUM(myproducts.price)
   FROM myorders od2
     INNER JOIN myproducts ON od2.product_id = myproducts.id
   WHERE od2.date = od1.date
         AND myproducts.price BETWEEN 500 AND 2000
 ) sum_ch_o,
  (SELECT COUNT(  od2.id) FROM myorders od2
    INNER JOIN myproducts ON od2.product_id = myproducts.id
  WHERE  od2.date = od1.date
         AND myproducts.price > 2000
         ) expensive_orders,
  (SELECT SUM(myproducts.price)
   FROM myorders od2
     INNER JOIN myproducts ON od2.product_id = myproducts.id
   WHERE od2.date = od1.date
         AND myproducts.price > 2000

 ) sum_exp_o

FROM myorders od1
GROUP BY od1.date

Он возвращает мне таблицу:

date        cheap_orders  sum_ch_o  expensive_orders  sum_exp_o
2018-06-06  0             0         1                 4000
2018-06-04  2             3100      0                 0 
2018-06-07  1             780       3                 28000
2018-06-05  1             560       4                 15500

Как я могу изменить свой запрос наполучить другой вид этой таблицы:

date        order_cat      quantity      sum  
2018-06-06  cheap          0             0
2018-06-06  expensive      1             4000
2018-06-04  cheap          2             3100
2018-06-04  expensive      0             0
2018-06-07  cheap          1             780
2018-06-07  expensive      3             28000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...