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

Apakah mungkin membuat kueri SQL rekursif?

Berikut adalah contoh skrip menggunakan ekspresi tabel umum:

with recursive sumthis(id, val) as (
    select id, value
    from example
    where id = :selectedid
    union all
    select C.id, C.value
    from sumthis P
    inner join example C on P.id = C.parentid
)
select sum(val) from sumthis

Script di atas membuat tabel 'virtual' bernama sumthis yang memiliki kolom id dan val . Ini didefinisikan sebagai hasil dari dua pilihan yang digabungkan dengan union all .

select pertama mendapatkan root (where id = :selectedid ).

select kedua mengikuti anak-anak dari hasil sebelumnya secara iteratif sampai tidak ada yang kembali.

Hasil akhirnya kemudian dapat diproses seperti tabel biasa. Dalam hal ini kolom val dijumlahkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Adakah kerugian menggunakan teks tipe data untuk menyimpan string?

  2. Tidak ditemukan driver yang cocok untuk jdbc:postgresql://192.168.1.8:5432/NexentaSearch

  3. Instalasi postgresql dengan NSIS

  4. daftar skema dengan ukuran (relatif dan absolut) dalam database PostgreSQL

  5. Penerapan &Konfigurasi PostgreSQL dengan Wayang