IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Faire une liste d'élément qui ne sont pas dans la base


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 49
    Points
    49
    Par défaut Faire une liste d'élément qui ne sont pas dans la base
    Bonjour,

    voilà j'ai un petit pb pour le quel je ne sais pas du tout comment faire. Et s'il est surtout réalisable.


    dans une table de société j'ai un champs numéro de dossier (type text pour avoir les 0 devant) qui est égal 0000 si la société n'existe plus, sinon c'est un entier (toujours sur 4 chiffres comme 0324 ou 1254 par ex)


    Ce que je voudrais c'est avoir la liste des numéros qui ne sont pas utilisé entre 0000 et le plus grand trouvé dans la base.

    Mais je n'ai aucune idée de comment faire un fonction ou une simple requete qui face cela.


    Si quelqu'un peut m'aider.

    Merci bien

  2. #2
    Membre habitué Avatar de budtucker
    Profil pro
    Développeur multimédia
    Inscrit en
    Avril 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Avril 2007
    Messages : 176
    Points : 197
    Points
    197
    Par défaut
    Regarde : http://www.developpez.net/forums/sho...d.php?t=339294

    Je pense que ça pourrait répondre à ta question à condition de modifier quelque peu le script !!!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    merci pour le lien mais comme j'ai un type text je ne peux pas utiliser cette méthode.



    par contre je viens d'y arrivé en php donc je donne la solution php. Si cela est possible de faire la "même" dans une fonction plpgsql je suis preneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?PHP
    $reponse = pg_exec("Select val from blob
    		    where val <> '0000'
    		    order by val;");
     
    $i = 1;
    while ($donnees = pg_fetch_array($reponse) )
    {
       if ($i <1000)
       {				
          $val_test=str_pad($i,4,'0',STR_PAD_LEFT);
       }
       else
       {
          $val_test = (string)$i;
       }
       if ($val_test != $donnees['val'])
       {
          while($val_test != $donnees['val'])
          {			
             echo "<OPTION value=".$val_test.">".$val_test."</OPTION>";
             $i = $i + 1;
             if ($i <1000)
             {				
                $val_test=str_pad($i,4,'0',STR_PAD_LEFT);
              }
              else
              {
                 $val_test = (string)$i;
              }
           }
     
          $i = $i + 1;
       }
       else
       {
          $i = $i + 1;
       }	
    }
    echo "</select>";
     
    ?>

  4. #4
    Membre habitué Avatar de budtucker
    Profil pro
    Développeur multimédia
    Inscrit en
    Avril 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Avril 2007
    Messages : 176
    Points : 197
    Points
    197
    Par défaut
    Que tes champs soient du text, ça fonctionne quand même à condition de faire du casting (conversion de type).

    Par exemple :
    renvoi

Discussions similaires

  1. chercher les éléments d'une table B qui ne sont pas dans la table A
    Par Cupidon dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/01/2008, 13h40
  2. [RegEx] Lister des patterns qui ne sont pas dans une liste
    Par guidav dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2007, 18h14
  3. Réponses: 1
    Dernier message: 21/12/2006, 11h17
  4. Réponses: 10
    Dernier message: 15/12/2006, 07h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo