Re: SELECT a partir de un BITMAP

From: Ruben Fitó <r(dot)fito(at)ubiquat(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: SELECT a partir de un BITMAP
Date: 2014-02-17 15:05:18
Message-ID: CANiYpQzLWBcVgg-mGkOcUhP97Jouet130x3zejg0jFCm=DFBtQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Jaime,

concretamente necesito que a partir de un bitmap por ejemplo '101110..n',
este bitmap se traduce a :

1 --> Codigo_producto_externo = 1 NO autorizado
0 --> Codigo_producto_externo = 2 autorizado
1 --> Codigo_producto_externo = 3 NO autorizado
1 --> Codigo_producto_externo = 4 NO autorizado
1 --> Codigo_producto_externo = 4 NO autorizado
0 --> Codigo_producto_externo = 5 autorizado
.
.
n--> Codigo_producto_externo = posicion de n

Como se puede observar la posición de cada uno de los bits del bitmap
corresponde a un codigo de producto externo.

Simplemente me gustaria saber si existe alguna manera para poder hacer una
consulta de productos autorizados utilizando este bitmap.

En resumen y como ejemplo:

Tengo 4 productos en una tabla, codificacos como 1, 2, 3, 4.
Tengo un bitmap de productos autorizados por cliente = 1 0 1 0.
Entonces el resultado esperado es que los productos autorizados son los
códigos 2 i 3. --> ya que 1=bloqueado, 0=autorizado

Nota: Los nombres de las columnas son inventados, no hagais mucho caso.

Un saludo

2014-02-17 14:22 GMT+01:00 Jaime Casanova <jaime(at)2ndquadrant(dot)com>:

> 2014-02-17 7:36 GMT-05:00 Ruben Fitó <r(dot)fito(at)ubiquat(dot)com>:
> >
> > Hola lista,
> >
> > en el trabajo nos ha llegado un pequeño reto, y me gustaria saber si
> existe alguna solución.
> >
> > El tema es que tenemos una tabla del siguiente estilo:
> >
> > codigo_producto_externo, codigo_producto_interno,
> codigo_producto_a_informar
> >
> > Esta tabla se utiliza para mapear los códigos de producto que tiene un
> servidor remoto con los códigos de producto que tenemos internamente.
> >
> > Para comprobar si un producto puede ser vendido a un cliente, el
> servidor remoto nos da un Bitmap del estilo:
> >
> > 111110111110111011011101, donde la posición de cada bit corresponde al
> codigo_producto_externo, diciéndonos que 1: bloqueado, 0:aceptado.
> >
> > Existe algun tipo de funcionalidad en Postgres que me permita consultar
> estos codigos de productos a partir de un BITMAP???
> >
>
> Podrias explicar mejor lo que buscas hacer? Especialmente que chequeas
> de lo que te llega del servidor remoto, en que tipo de dato esta, etc
>
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
> Phone: +593 4 5107566 Cell: +593 987171157
>

--
*Ruben Fitó *
Software Engineer
[image: Ubiquat Technologies, SL] r(dot)fito(at)ubiquat(dot)com<j(dot)catarineu(at)ubiquat(dot)com>

www.ubiquat.com
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive this
message by mistake, please delete it and notify it immediately to the
sender.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jvenegasperu . 2014-02-17 15:17:53 Re: problema con constraint no permite grabar
Previous Message Alvaro Herrera 2014-02-17 15:04:29 Re: problema con constraint no permite grabar