Re: Filtrar por las posiciones de un array

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Héctor Alonso Lozada Echezuría <imatsu(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Filtrar por las posiciones de un array
Date: 2018-05-17 19:49:29
Message-ID: 20180517194929.6y4jlmnh2yzxqfwm@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Héctor Alonso Lozada Echezuría escribió:

> Si quisiera listar los elementos de la tabla los cuales pertenecen a B
> entonces hago lo siguiente:
>
> SELECT * FROM tabla WHERE ruta[1] = 1 AND ruta[2] = 1;

alvherre=# create table hector (a "char", ruta int[]);
CREATE TABLE
alvherre=# insert into hector values ('A', '{1}'), ('B', '{1,1}'), ('C', '{1,1,1}'), ('D', '{1,1,1,1}'), ('E', '{1,1,1,2}'), ('F', '{1,1,1,3}');

alvherre=# select * from hector where ruta[1:2] = '{1,1}';
o
alvherre=# select * from hector where ruta[1:2] = (select ruta from hector where a = 'B');
a │ ruta
───┼───────────
B │ {1,1}
C │ {1,1,1}
D │ {1,1,1,1}
E │ {1,1,1,2}
F │ {1,1,1,3}
(5 filas)

(¿quizás te sirva usar contrib/ltree?)

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message RETUERTO Noelia 2018-05-18 09:36:15 RE:FINAL ** ADVERTENCIA ** SU CUENTA ESTARÁ CERRADA
Previous Message Hellmuth Vargas 2018-05-17 19:34:58 Re: Filtrar por las posiciones de un array