|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 679 ![]() |
Salut,
Dans une db j'ai un petit soucis, j'ai une table dans laquelle il y a pas mal de blancs laissé dans la numérotation des clefs et comme je dois y ajouter des groupes d'information, j'aimerais les combler... Mais comment savoir si le blanc dans la séquence de clefs est suffisant pour inserer le bloc? J'explique : j'ai par exemple ceci : Clef valeur 1 aaa 2 bbb 3 ccc 6 ddd 15 eee Mon premier bloc contient 4 lignes d'informations, comment puis-je savoir que je dispose d'un vide suffisant entre 6 et 15 pour insérer mes informations? Quelqu'un aurait une idée? Merci.
__________________
Pourquoi vouloir ré-inventer la roue... ...Surtout si c'est pour la faire carrée... |
|
|
00
|
|
|
#2 | |
|
Membre actif
![]() Développeur multimédia Inscription : avril 2007 Messages : 175 ![]() |
Citation:
|
|
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Je vous propose une requête, complexe mais qui fonctionne dans tous les cas de figure, y compris si la table est vide. La table nombres est composée d'un seul champ nommé a qui contient un chiffre de la série.
Code :
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
...et pour répondre plus précisément à la question, voici la requête, plus simple mais reprenant le même principe, qui renvoie la liste de tous les intervalles libres (si l'intervalle est réduit à un seul nombre, début = fin) :
Code :
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
||
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 679 ![]() |
Merci à tous pour ces infos... Au risque de passer pour un c**, à quoi correspondent a,x et y, GrandFather?
__________________
Pourquoi vouloir ré-inventer la roue... ...Surtout si c'est pour la faire carrée... |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
x et y ne sont que des alias pour la table nombres, ces alias sont nécessaires au moteur SQL dans le cas d'une auto-jointure pour dissiper toute ambiguïté. Quant à a, il s'agit du nom du champ contenant la clé primaire numérique. J'ai repris les mêmes termes que ceux utilisés dans le lien donné par kryskool, afin de faciliter une éventuelle étude comparative entre les deux solutions.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#7 | |
|
Membre actif
![]() Inscription : mai 2004 Messages : 679 ![]() |
Je viens de tester... Et ta solution est impec... Juste un petit truc qui coinçait mais peut être lié à ma version de postgres qui est pas top à jour... Le
Citation:
Un grand merci...
__________________
Pourquoi vouloir ré-inventer la roue... ...Surtout si c'est pour la faire carrée... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com