sql >> データベース >  >> RDS >> PostgreSQL

Postgresは、結合テーブルのarray_aggに対して[]ではなく[null]を返します

    別のオプションは、array_remove(..., NULL)です。 (9.3で導入tags.tagの場合 NOT NULLです (それ以外の場合は、NULLを維持することをお勧めします 配列内の値ですが、その場合、既存の単一のNULLを区別することはできません。 タグとNULL LEFT JOINによるタグ ):

    SELECT objects.*,
         array_remove(array_agg(tags.tag), NULL) AS tags,
    FROM objects
    LEFT JOIN taggings ON objects.id = taggings.object_id
    LEFT JOIN tags ON tags.id = taggings.tag_id
    

    タグが見つからない場合は、空の配列が返されます。



    1. 注文の合計金額を保存、処理する方法、ordersDetailsスキーマ?

    2. 外部キー参照アクションを変更するにはどうすればよいですか? (行動)

    3. 短絡論理評価演算子

    4. 匿名/ゲストユーザーに関する情報をデータベースに保存する方法はありますか?