Trouver le premier n° libre en SQL

Résolu
keennan Messages postés 144 Statut Membre -  
keennan Messages postés 144 Statut Membre -
Bonjour,
je suis actuellement en train de créer un logiciel.
Je souhaiterai trouver dans ma table SQL le premier numéro de libre dans un champ.

Ma BDD :
Table : jeux
Champ : CodeJeu

Dans ce champ CodeJeu j'ai de nombreux numéros, [1,2,3...1038] mais parmi cela j'ai de nombreux trous, je voudrai trouver le premier.
Par exemple si j'ai [1,2,3,5...], je voudrai trouver le nombre 4.

Voila j'espère avoir été assez claire, et merci de votre aide.

2 réponses

  1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Salut,

    Sous Oracle j'écrirais :

    select min (codejeu+1) from jeux
    where (codejeu+1) not in (select codejeu from jeux) ;

    Ce n'est pas nécessairement très performant si la table comporte des millions de lignes.

    cdlt

    ps : faudrait un peu compliquer pour résoudre le cas de la table vide et de l'enregistrement 1 supprimé ;-)

    Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    3
  2. keennan Messages postés 144 Statut Membre 22
     
    jee pee tu es un génie :)

    Ca faisait un moment que je cherchai cela, et ta requête fonctionne parfaitement, de plus elle est très simple (même si je ne l'ai pas trouvée ^^).

    Merci beaucoup.
    0