Raul,
> No entiendo el objetivo de este query !!!!
Para hace simple, se le sale el primero agujero en una seria numerica.
Mire ese ejemplo:
create table numeros (a integer);
insert into numeros (a) values (1),(2),(3),(5),(6),(9);
SELECT (x.a+1) AS id_disponible
FROM numeros x
LEFT JOIN numeros y
ON ((x.a + 1) = y.a)
WHERE y.a IS NULL
ORDER BY x.a LIMIT 1;
id_disponible
---------------
4
(1 row)
El 4 es el primero disponible despues del 1,2,3...
Usted entendio ?
--
Jean-Paul Argudo
www.PostgreSQLFr.org
www.Dalibo.com