sql >> Database >  >> RDS >> PostgreSQL

Tekenreeks maken van array

je kunt meerdere bewerkingen combineren, zoals gene_subscripts en array om het resultaat te krijgen:

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]
  ), '->'
) ;

live voorbeeld Sqlfiddle

of gebruik outer join in combinatie met:

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

live voorbeeld Sqlfiddle



  1. Converteer kolom met maandnaam en jaar naar geheel getal met formaat JJJJMM in MySQL

  2. Laravel 5.4 Raw werkt niet zoals verwacht, maar werkt in mySQL

  3. HikariCP pass Oracle aangepast type

  4. 1000+ API calls met 1 cronjob?