Re: Filtrar por las posiciones de un array

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Héctor Alonso Lozada Echezuría <imatsu(at)gmail(dot)com>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Filtrar por las posiciones de un array
Date: 2018-05-17 19:34:58
Message-ID: CAN3Qy4rUUuXA4K+uwKK2WsF4O9X7tOLnJ_Ly94RKARGB1T=BHQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Lista

Si el campo a filtrar es un arreglo, como se trata de inferir del ejemplo,
la optimización que se me ocurre seria:

SELECT * FROM (values
('A',ARRAY[1]),
('B',ARRAY[1, 1]),
('C',ARRAY[1, 1, 1]),
('D',ARRAY[1, 1, 1, 1]),
('E',ARRAY[1, 1, 1, 2]),
('F',ARRAY[1, 1, 1, 3])) AS a(letra,ruta) WHERE ruta=ARRAY[1,1]

El 17 de mayo de 2018, 13:03, Héctor Alonso Lozada Echezuría<
imatsu(at)gmail(dot)com> escribió:

> Saludos.
>
> Poseo una tabla en donde tengo una estructura tipo índice, por ejemplo
>
> A: [1]
> B: [1, 1]
> C: [1, 1, 1]
> D: [1, 1, 1, 1]
> E: [1, 1, 1, 2]
> F: [1, 1, 1, 3]
>
> 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;
>
> La pregunta es si existe alguna forma mas simple de hacer este tipo de
> consultas
>
> --
> Héctor Alonso Lozada Echezuría
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2018-05-17 19:49:29 Re: Filtrar por las posiciones de un array
Previous Message Héctor Alonso Lozada Echezuría 2018-05-17 18:03:18 Filtrar por las posiciones de un array