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

Buat string dari array

anda dapat menggabungkan beberapa operasi seperti generate_subscripts dan array untuk mendapatkan hasilnya:

with mtab as (
      SELECT id, name, array_append(arrayofparents,id) as arrayofparents,
      generate_subscripts(array_append(arrayofparents, id), 1) AS p_id FROM tab where id=2
)
select distinct array_to_string(
  array(
    select tab.name from tab join mtab t on tab.id=t.arrayofparents[t.p_id]
  ), '->'
) ;

contoh langsung Sqlfiddle

atau gunakan gabungan luar yang dikombinasikan dengan:

SELECT coalesce(string_agg(p.name, '->') || '->' || t.name, t.name) AS parentnames
FROM tab AS t
  LEFT JOIN tab AS p ON p.id = ANY(t.arrayofparents)
 where t.id =7 
GROUP BY t.id, t.name

contoh langsung Sqlfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django:Grup Kueri Berdasarkan Bulan

  2. Variabel yang ditentukan pengguna di PostgreSQL

  3. Tidak dapat terhubung ke Postgresql pada port 5432

  4. Berapa ukuran batch JDBC maks?

  5. Fungsi Kueri Dinamis Postgres