Re: consulta sql

From: juan <juanramirez(at)cajazacate(dot)com(dot)sv>
To: "Crispin T(dot)" <cris(dot)emis(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: consulta sql
Date: 2009-07-11 17:37:39
Message-ID: 4A58CDE3.4040401@cajazacate.com.sv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Crispin T. escribió:
> *1:* tengo una tabla con un campo serial (id) el cual me muestra que tengo
> 1000287 tuplas pero al consultar la tabla resulta que solo tengo 1000285 es
> decir en la serie me faltan 2 valores. o dos tuplas...
> ¿como puedo saber que valores no existen en el campo (id) ?

tan facil no esta, pero yo propongo lo siguiente:
crear una secuencia en una tabla temporal y luego hacer el match de cual
falta:

agregar el correlativo "real":

create temp sequence enum;
select id, nextval('enum') as pos
into tmp_tabla from tabla order by id;

luego match para saber cual falta:
select * from tmp_tabla as a
where not exists( select * from tabla where a.pos=id);

ahi te saldra algo así;
id | pos*
---------------------------------
1000005 | 1000004*
1000287 | 1000285*

te darás cuenta que faltan los id [1000004 1000285] y de paso te dira
donde esta el salto....

en teoría debería funcionar :)

>
> *2:*
> tengo esta tabla
> *numero*
> ------------
> 1
> 2
> 3
> 4
>
> quiero que al consultar me devuelva algo parecido a
>
> *numero | literal*
> -------------------------
> 1 | Uno
> 2 | Dos
>

En la superpoderosa wiki de postgres hay una función picosa que te ayudara
http://wiki.postgresql.org/wiki/Numeros_a_letras

--
Cordialmente,
Juan Ramírez
El Salvador

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2009-07-11 17:38:37 Re: consulta sql
Previous Message Crispin T. 2009-07-11 16:21:19 consulta sql