2009/9/2 Mozart Hasse <[email protected]>:

> 2. Tente isso:
> select campox+1 from tabela where campox+1 not in (select campox from tabela)
> limit 1
>
> From: "Marcelo Giovane" <[email protected]>

>> Estou precisando elaborar uma consulta para retornar o primeiro elemento
> faltante numa sequência.
>> Ex:
>> Campox
>> 200
>> 201
>> 202
>> 205
>> 206
>>
>> No caso, deve retornar 203.


Mozart:

Esta solução tem um problema na condição de contorno "não existir
elemento faltante".
É preciso testar se campox+1 não é maior que  max(campox).

SELECT x+1 FROM foo WHERE x+1 <= (SELECT max(x) FROM foo) AND x+1 NOT
IN (SELECT x FROM foo) LIMIT 1;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a