RECHERCHE DU PREMIER IDENTIFIANT MANQUANT (TROU) D'UNE TABLE

Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
-
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31232-recherche-du-premier-identifiant-manquant-trou-d-une-table

Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Bonjour,

Ci dessous une petite requête avec autojointure pour trouver les éléments manquants dans la suite d'id :

Select d1.DEBUT, d1.FIN
From (
Select (e1.id_pat + 1) as DEBUT,
(select (min(id_pat) - 1)
From patient as f1
Where f1.id_pat > e1.id_pat) as FIN
From patient as e1
Left Outer Join patient as e2 On e1.id_pat = e2.id_pat - 1
Where e2.id_pat is null
) d1
Where d1.FIN is not null

Et si on veut restreindre sur un intervalle :
And d1.DEBUT >= [Début id contrôle]
And d2.DEBUT < [Fin id contrôle]
Messages postés
1
Date d'inscription
vendredi 9 mars 2012
Statut
Membre
Dernière intervention
9 mars 2012

Bonjour,

Je viens d'utiliser le code de Mindiell pour identifier les trou d'ID d'une de mes tables. Le hic est que ce code ne me renvoie pas tous les codes non utilisés mais uniquement "les trous de 1". Si en effet j'ai un trou de 50 ID, ce code ne me les retourna pas! Une idée pour palier à ce problème?
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
et mea culpa donc, c'était plus ironique que moqueur...

:pardon: :pardon: :pardon:
Messages postés
196
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2009

Exact, il s'agit de s'entre aider pas de se moquer.
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
Désolé, le ton se voulait ironique et non gincant...
Cependant, on est quand même là pour apprendre et donc jouer un peu les singes savants...

Je suis là pour apprendre des autres, et apprendre aux autres...
La source postée est intéressante, mais pas réfléchie à fond je trouve. c'est une critique que j'éspère constructive étant donné que je donne une meilleure solution, non ? ^^
Afficher les 7 commentaires