テーブルで自己結合を実行して、値を列ごとに表示したいと考えています。各オブジェクトには複数のプロパティ (既知の制限まで) がありますが、すべてのオブジェクトのすべてのプロパティが保存されるわけではありません。さまざまな結合を試しましたが、常に欠落行があり、NULL 値が必要です。
開始テーブル:
オブジェクトID | 属性 | ###価値###|
---|---|---|
10 | 1 | |
20 | 1 | |
30 | 2 | ###1つ###|
2 | c | |
私の目標 (考えられる 3 つのプロパティが | a,b,c | であると仮定して)
オブジェクトID
###1つ###
1 | 10 | ||
---|---|---|---|
2 | 15 | ||
次のクエリを使用してこれを実現できます:
リーリーイラスト:
CASE
ステートメントを使用して、Attribute
の値を特定の値 (つまり、「a」、「b」など) として選択します。したがって、その特定の列では、その特定の属性の値のみが選択されます。SUM
数値以外の値を使用する可能性があるためを使用して、
Valueフィールドの値を集計します。このようにして、
ObjectIDの複数行の値が 1 つの行に集約されます。
SUM
を使用したくない場合は、@xQbert の提案に従い、次のように
MAXを使用できます。 リーリー