PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres mengembalikan [null] alih-alih [] untuk array_agg dari tabel gabungan

Pilihan lain mungkin array_remove(..., NULL) (diperkenalkan di 9.3 ) jika tags.tag adalah NOT NULL (jika tidak, Anda mungkin ingin menyimpan NULL nilai dalam array, tetapi dalam kasus itu, Anda tidak dapat membedakan antara NULL . yang ada tag dan NULL tag karena 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

Jika tidak ada tag yang ditemukan, array kosong akan dikembalikan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memiliki fungsionalitas offline lengkap di aplikasi web dengan database PostgreSQL?

  2. Jalankan Pemicu pada Tampilan?

  3. Mengapa waktu habis kueri saat berada dalam batas waktu habisnya?

  4. Objek yang diterima bertipe org.postgresql.util.PGobject

  5. Postgres - FATAL:file database tidak kompatibel dengan server