次の表を想定します。
表 A:
ID GroupName SomeValue
1 C 1
2 C 1
2 B 1
2 A 1
次の結果を選択するクエリを作成する必要があります。
ID GroupName SomeValue
1 C 1
1 B 0
1 A 0
2 C 1
2 B 1
2 A 1
GroupName は、実際には TableA 列の CASE 式から派生し、A、B、C の 3 つの値のみを取ることができます。
分析関数は進むべき道ですか?
編集
言及していなくて申し訳ありませんが、ID は複数の列で構成されている可能性があります。次の例を検討してください。
ID1 ID2 GroupName SomeValue
1 1 C 1
1 2 C 1
2 2 C 1
2 2 B 1
2 2 A 1
SomeValue
一意の ID1 + ID2 の組み合わせごとに 0 を埋め込む必要があります。したがって、結果は次のようになります。
ID1 ID2 GroupName SomeValue
1 1 C 1
1 1 B 0
1 1 A 0
1 2 C 1
1 2 B 0
1 2 A 0
2 2 C 1
2 2 B 1
2 2 A 1
EDIT2 @Laurence
によって提案されたソリューションのように思えますが、複数列の「ID」でも機能するはずです。この要件に準拠するために、@Nicholas Krasnov によって提案されたクエリを書き直すことができませんでした。しかし、誰かがこれらのソリューションのパフォーマンスを比較できますか? analytic function
「クロス結合+左外部結合」よりも高速に動作しますか?