次のような単一のテーブルがあります。
表の抜粋
Owner | Attribute | value
----------------------------------------------------
10 | COLOR | BLUE
10 | COLOR | RED
10 | COLOR | GREEN
10 | SIZE | BIG
20 | COLOR | GREEN
20 | SIZE | MEDIUM
20 | MEMORY | 16G
20 | MEMORY | 32G
30 | COLOR | RED
30 | COLOR | BLUE
30 | MEMORY | 64G
すべての属性と単一のインデックスの組み合わせを計算する SQL はありますか (結果の最後の列):
Owner | Attribute | Value | Rule_No
10 | COLOR | BLUE | 1
10 | SIZE | BIG | 1
10 | COLOR | RED | 2
10 | SIZE | BIG | 2
10 | COLOR | GREEN | 3
10 | SIZE | BIG | 3
20 | COLOR | GREEN | 1
20 | SIZE | MEDIUM| 1
20 | MEMORY | 16G | 1
20 | COLOR | GREEN | 2
20 | SIZE | MEDIUM| 2
20 | MEMORY | 32G | 2
30 | COLOR | BLUE | 1
30 | MEMORY | 64G | 1
30 | COLOR | RED | 2
30 | MEMORY | 64G | 2
ルール番号は所有者ごとに一意です (所有者「10」のルール「1」は、所有者「20」のルール「1」とは関係ありません。
SQLクロス結合を使用しようとしましたが、属性の数が固定されていないため、使用できません(属性ごとに1つのクロス結合が必要です)。組み合わせを新しい列ではなく新しい行にしたいです。
私はそれを実行しようとしTalend Open Studio - Data Integration
ていますが、SQL のみを使用するソリューションの方が適しています。