Trouver le premier n° libre en SQL

Résolu/Fermé
keennan Messages postés 128 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 15 octobre 2014 - 29 mai 2012 à 11:32
keennan Messages postés 128 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 15 octobre 2014 - 29 mai 2012 à 12:31
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.



A voir également:

2 réponses

jee pee Messages postés 39629 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
Modifié par jee pee le 29/05/2012 à 12:59
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
keennan Messages postés 128 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 15 octobre 2014 22
29 mai 2012 à 12:31
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