私は2つのテーブルを持っています
Name | ID |
--------+---------+
A | 3 |
A | 5 |
B | 1 |
ID | Count |
--------+---------+
1 | 10 |
2 | 50 |
3 | 15 |
6 | 20 |
これら 2 つのテーブルの ID を結合し、一致しないエントリの結果を集計するものを生成したい
Name | ID | Count
--------+---------+----------
A | 3 | 15
A | 5 | 0 *//(doesn't exists)*
A | others | 80 *//(10 (ID 1) + 50 (ID 2) + 20 (ID 6))*
B | 1 | 10
B | others | 85 *//(50 (ID 2) + 15 (ID 3) + 20 (ID 6))*
今まで、一致したアイテムを取得できましたが、一致していない集計を取得できませんでした。
except
ID の各リストに対して を実行し、一致しないものを集約することは、エレガントな解決策ではないと感じています。
問題に対するよりエレガントな解決策を見つけたいと思います。
編集:
を使用していることを忘れていましたSQL server
。オラクルのソリューションは、私のシナリオでは役に立ちませんが、Oracle ユーザーの同様のシナリオでは役に立ちます。