ホームページ  >  に質問  >  本文

MySQL 自己結合の欠損データ

テーブルで自己結合を実行して、値を列ごとに表示したいと考えています。各オブジェクトには複数のプロパティ (既知の制限まで) がありますが、すべてのオブジェクトのすべてのプロパティが保存されるわけではありません。さまざまな結合を試しましたが、常に欠落行があり、NULL 値が必要です。

開始テーブル:

###価値### 1 ###1つ### bc ###1つ### 1525私の目標 (考えられる 3 つのプロパティが であると仮定して)
オブジェクトID 属性
10 1
20 1
30 2
2 c
a,b,c

オブジェクトID ###1つ###

bc203025
P粉464208937P粉464208937183日前279

全員に返信(1)返信します

  • P粉563446579

    P粉5634465792024-04-01 09:26:44

    次のクエリを使用してこれを実現できます:

    リーリー

    イラスト:

    CASE ステートメントを使用して、Attribute の値を特定の値 (つまり、「a」、「b」など) として選択します。したがって、その特定の列では、その特定の属性の値のみが選択されます。

    SUM を使用して、Value フィールドの値を集計します。このようにして、ObjectID の複数行の値が 1 つの行に集約されます。

    数値以外の値を使用する可能性があるため

    SUM を使用したくない場合は、@xQbert の提案に従い、次のように MAX を使用できます。 リーリー

    返事
    0
  • キャンセル返事
  • 1 10
    2 15