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

Postgres CTE :tipe karakter bervariasi(255)[] dalam istilah non-rekursif tetapi tipe karakter bervariasi[] secara keseluruhan

Coba transmisikan SELECT daftar dalam istilah rekursif dan non-rekursif ke varchar .

WITH RECURSIVE search_graph(path, last_profile1, last_profile2) AS (
    SELECT ARRAY[id]::varchar[], id::varchar, id::varchar
    FROM node WHERE id = '408d6b12-d03e-42c2-a2a7-066b3c060a0b'
  UNION ALL
    SELECT (sg.path || m.toid || m.fromid)::varchar[], m.fromid::varchar, m.toid::varchar
    FROM search_graph sg
    JOIN rel m
    ON (m.fromid = sg.last_profile2 AND NOT sg.path @> ARRAY[m.toid]) 
       OR (m.toid = sg.last_profile1 AND NOT sg.path @> ARRAY[m.fromid])
)
SELECT DISTINCT unnest(path) FROM search_graph;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. fungsi plpgsql:Mengembalikan baris dari tampilan yang dibuat dari tabel acak

  2. Memasukkan array ke dalam postgresql

  3. Mengonversi Kumpulan Hasil dari SQL Array ke Array of Strings

  4. Mengelompokkan beberapa bidang sql hasil menjadi objek umum

  5. dengan aman menentukan klausa 'pesan berdasarkan' dari input pengguna di python / postgresql / psycopg2