PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres CTE:тип символ, вариращ(255)[] в нерекурсивен термин, но тип символ, вариращ[] като цяло

Опитайте да прехвърлите SELECT списъци в рекурсивните и нерекурсивните термини към 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. изчисляване на сумата от стойности, свързани с припокриващи се периоди от време

  2. Причинено от:org.postgresql.util.PSQLException:ФАТАЛНО:оставащите слотове за връзка са запазени за връзки на суперпотребител без репликация

  3. Как да филтрирате postgis заявки въз основа на ST_GeometryType

  4. Преобразува ли PostGIS автоматично при вмъкване на WKT?

  5. Проблем с достъпа до отдалечена Postgres DB на Heroku от Local Node.js Webapp