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
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a