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

SGBD Perl Discussion :

[Débutant] aide pour une requête


Sujet :

SGBD Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut [Débutant] aide pour une requête
    Bonjour tout le monde !!

    soit un script perl non écrit par mes soins (ça risque pas...) que je dois modifier pour que celui-ci m'affiche ce que je veux de la manière que je veux !!

    voici le code

    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
    sub alarming_stat_sql{
      my $table=shift;     # table à interroger
      my $list=shift;
      my $date_deb=shift;  # date à partir de laquelle on regarde (incluse)
      my $date_fin=shift;  # date à laquelle on s'arrête (exclue)
      my $sql=$dbh->selectall_arrayref("
                                                      SELECT severite,s_objet,count (severite)
                                                      FROM $table
                                                      WHERE s_machine in $list
                                                      AND d_detection >= '$date_deb'
                                                      AND d_detection <'$date_fin'
                                                      GROUP BY severite,s_objet"
                                                                      ) || die ('Erreur alarming_stat $table');
      foreach (@$sql) {
            my ($severite,$objet,$nb)=@$_;                             # récupération des paramétres
            $objet=~s/\s+$//;                                          # suppression des espaces en fin de chaine
            $ALARME{$severite}->{'nb'}+=$nb;                     # mise à jour du nb d'alarmes pour la sévérité
     
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach my $severite (keys %ALARME) {
    print FD_K"$ALARME{$severite}->{'nb'}|";
            }
    en fait il y a une base qui ressence des alarmes de sévérité 0,1,2,3 ou 4.
    ce script me sort le nombre d'alarme pour chaque sévérité
    or si aucune alarme pour une sévérité n'existe, il ne l'affiche pas du tout !!

    donc en final, j'aimerai qu'il m'affiche un truc du genre :

    14|5|0|0|15 et non 14|5|15
    ou encore
    0|2|0|21|18 et non 2|21|18

    je n'y connais pas grand chose en perl, j'arrive à comprendre un peu du fait des ressemblances mais bon :/
    je n'ai pas coller tout le code du script, je pense que le problème doit se situer là...
    histoire de compliquer la chose, je n'ai pas d'accès autre que celui-ci à la base pour voir sa structure et contenu...erf

    merci de votre aide

  2. #2
    Membre actif Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Points : 263
    Points
    263
    Par défaut
    je pense pas que le problème se situe dans ce bout de code,
    met tout ton code
    CKL
    N°°b forever
    --
    may the be with you

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    c'est bon... un collègue m'a trouver mon soucis

    il faut juste rajouter ça avant le select:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ALARME{'0'}->{'nb'}=0;
    $ALARME{'1'}->{'nb'}=0;
    $ALARME{'2'}->{'nb'}=0;
    $ALARME{'3'}->{'nb'}=0;
    $ALARME{'4'}->{'nb'}=0;
    et tout fonctionne

  4. #4
    Membre actif Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Points : 263
    Points
    263
    Par défaut
    cool ton problème est donc
    CKL
    N°°b forever
    --
    may the be with you

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour une requête et left join
    Par Lolo19 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h09
  2. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  3. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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