SQL Group Analysis групповой запрос - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь создать запрос для анализа корзины товаров на основе группировки их типов. У них есть два уровня группировки помимо идентификаторов продуктов.

Dept level 
1  
2   
3
4

и уровень группы покупок

MA  
M
MC
WA
W
WC
KA
KC
K

иерархия

  • 1> W, WC
  • 2> M, MC
  • 3> К, КС
  • 4> MA, KA, WA

сейчас у меня запрос

Select 
 i.buying_group,
 Sum(d.sales),
 Sum(d.units),
 count(distinct d.trans_nbr) transaction_count
From 
 sales_details d, item_data i, (select trans_nbr from sales_details where item_dept = 1 group by trans_nbr) main_group
Where 
 d.trans_nbr = main_group.trans_nbr
 d.item_nbr = i.item_nbr
 group by i.buying_group;

Прямо сейчас я получаю данные, которые мне нужны для большинства групп покупателей, но поскольку они выполняются на уровне отдела, это не дает мне правильную информацию о корзине для W и WC. Есть ли способ сделать это на уровне отделов, который бы показывал, покупал ли клиент что-либо из одной из этих групп и имел ли другой в своей корзине, не считая это дважды?

результаты на данный момент примерно такие

buyyin_group    Sum(sales)    Sum(units)   transaction_count
MA               100            5               4
M                 75            3               3
MC                56            1               1
WA                48            3               2
W                250            6               6
WC               200            9               9
KA               164            7               5
KC               400           12               7
K                521           14              12                  ` 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...