我有一个表1,其中列名称
| 线|积|
| - ------|- ------|
| 1个|项目a|
| 第二章|B|
| 三个|日|
另表2产品销售情况
| 项目a|B|(c)秘书长的报告|日|
| - ------|- ------|- ------|- ------|
| 升|S的|米|xs|
| xs|S的|xs|米|
| 米|加大码|S的|升|
| xs|加大码|米|加大码|
| xs|加大码|升|S的|
| xs|米|加大码|升|
| 米|米|升|升|
| S的|米|米|升|
我想根据表1中所选的产品对表2中的产品做一个总结。请你对此提出建议?
预期结果如下所示:
| 积|大小|数量|
| - ------|- ------|- ------|
| 项目a|升|1个|
| 项目a|xs|四个|
| 项目a|米|第二章|
| 项目a|S的|1个|
| B|S的|第二章|
| B|加大码|三个|
| B|米|三个|
| 日|xs|1个|
| 日|米|1个|
| 日|升|四个|
| 日|加大码|1个|
| 日|S的|1个|
1条答案
按热度按时间ftf50wuq1#
您需要首先线性化sales表,方法是使用
UNION ALL
将模式从〈a,b,c,d〉更改为〈product,sizes〉,如下面的cte所示。然后您可以:
INNER JOIN
来过滤您需要的产品,COUNT
生成你的数量字段,通过聚合产品和尺寸如果你事先知道你只想要a、b和c销售,并且想要避免加入,你也可以做如下操作:
输出:
| 积|大小|数量|
| - ------|- ------|- ------|
| 项目a|升|1个|
| 项目a|米|第二章|
| 项目a|S的|1个|
| 项目a|xs|四个|
| b.人口基金|米|三个|
| b.人口基金|S的|第二章|
| b.人口基金|加大码|三个|
| 日|升|四个|
| 日|米|1个|
| 日|S的|1个|
| 日|加大码|1个|
| 日|xs|1个|
检查here演示。