这是我正在处理的表格的简化版本,即订单
+-------------------+------------------+---------------+
| Order_Base_Number | Order_Lot_Number | Other Cols... |
+-------------------+------------------+---------------+
| 1 | 3 | |
| 1 | 3 | |
| 1 | 4 | |
| 1 | 4 | |
| 1 | 4 | |
| 1 | 5 | |
| 2 | 3 | |
| 2 | 5 | |
| 2 | 9 | |
| 2 | 10 | |
+-------------------+------------------+---------------+
我想要做的是根据基数和批号计算唯一条目的数量。我有两组数字,一组是基数,另一组是一组批号。例如,假设这两组是 Base In (1,2,3),Lot 在 (3,4,20)。
我正在寻找一个 SQL 查询,它可以从两个集合中返回 (Base,Lot) 的所有可能组合,其计数显示在表中找到该组合的次数。我的问题是我想包括所有可能的组合,如果组合不在 Orders 表中,我希望计数显示为零。所以,我正在寻找的输出是这样的。
+------+-----+-----------+
| Base | Lot | Frequency |
+------+-----+-----------+
| 1 | 3 | 2 |
| 1 | 4 | 3 |
| 1 | 20 | 0 |
| 2 | 3 | 1 |
| 2 | 4 | 0 |
| 2 | 20 | 0 |
| 3 | 3 | 0 |
| 3 | 4 | 0 |
| 3 | 20 | 0 |
+------+-----+-----------+
我尝试了很多查询,但从未接近过这个,甚至不确定是否可以完成。现在我正在弄清楚客户端的组合,因此我执行了太多查询来获取频率。