[RESOLU] Récupérer le plus petit numéro disponible lors d'un INSERT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Récupérer le plus petit numéro disponible lors d'un INSERT

Re: Récupérer le plus petit numéro disponible lors d'un INSERT

par calimreo » 08 févr. 2019, 10:44

Au final j'ai procédé autrement j'ai rajouté une colonne libre BOOL (1 pour remplit 0 pour vide) avec cette requête
SELECT MIN(numTiroir) AS numTiroir FROM tiroir WHERE libre=0 comme ça je change juste la colonne libre plus besoin de ajouter ou supprimer un tiroir a chaque fois Merci pour tes conseils

Re: Récupérer le plus petit numéro disponible lors d'un INSERT

par calimreo » 08 févr. 2019, 10:25

j'ai du coup une requête comme ci dessous mais si ma table est comme ça (2,3,4,6,7,8,9) je veux le 1 mais cela donne le 5
SELECT MIN(t1.numTiroir) + 1 AS numTiroir FROM tiroir t1 LEFT JOIN tiroir t2
ON (t2.numTiroir = t1.numTiroir+1) WHERE t2.numTiroir IS NULL

Re: Récupérer le plus petit numéro disponible lors d'un INSERT

par Spols » 08 févr. 2019, 09:15

Hello,

moi j'ajouterai une jointure sur la table elle même avec en condition que le numtitoir doit être égale à +1 du sien.
ensuite tu cherche un min sur ceux qui ont une jointure nulle

Récupérer le plus petit numéro disponible lors d'un INSERT

par calimreo » 07 févr. 2019, 18:55

Bonjour,
je développe une application qui lors de la création du client doit attribuer un numéro de tiroir non utilisé, pour y ranger les clés confiées, et qui libère le tiroir, quand le client récupère sa clé.
Mais je n'arrive pas a réaliser la requête pour le moment j'ai
SELECT MIN(numTiroir) FROM tiroir WHERE numTiroir IS NULL mais cela revoit NULL que faire?