El 11 de julio de 2009 11:21, Crispin T. <cris.e...@gmail.com> escribió: > > hola tengo las siguientes dudas > > 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... > ej: > > npg | id | valores..... > ---------------------------------------------------------------------- > 1000283 | 1000285 | valor 1 > 1000284 | 1000286 | valor 2 > 1000285 | 1000287 | valor 3 > > npg = numero que pone automáticamente pg admin para numerar las filas( no > tomar en cuenta) es solo para confirmar que pg admin muestra que tengo > 1000285 filas pero el campo id muestra que tengo 1000287. > > ¿como puedo saber que valores no existen en el campo (id) ? > > es decir, si falta el valor 556 y 100256 que me muestre ambos en una > consulta...¿se puede hacer esto sin funcion? se que se podría con una función > y un for + un if o algo así. pero quería saber si se puede con una consulta.
No sé si te sirva algo así: select generate_series(1,1000287) except select id from tu_tabla; -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo