これは、私が扱っているテーブルの簡略化されたバージョンです。
+-------------------+------------------+---------------+
| 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 | |
+-------------------+------------------+---------------+
私がやりたいことは、ベース番号とロット番号に基づいて一意のエントリの数を取得することです。1 つはベース番号のセットで、もう 1 つはロット番号のセットです。たとえば、2 つのセットが Base In (1,2,3) で、Lot が (3,4,20) であるとします。
テーブルで組み合わせが見つかった回数を示すカウントを使用して、2 つのセットから (Base,Lot) のすべての可能な組み合わせを返すことができる SQL クエリを探しています。私の問題は、考えられるすべての組み合わせを含めたいということです。組み合わせが 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 |
+------+-----+-----------+
私は多くのクエリを試しましたが、これに近づくことはなく、実行できるかどうかさえわかりません. 現在、クライアント側で組み合わせを把握しているため、頻度を取得するにはクエリが多すぎます。