Publicité
+ Répondre à la discussion
Page 1 sur 3 123 DernièreDernière
Affichage des résultats 1 à 20 sur 56
  1. #1

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut Fonction COUNT nombre de lignes

    Bonjour,

    Dans le code ci-dessous je sélectionne les champs avec jointure de 3 tables.
    J'aimerais compter le nombre de ligne ou j'ai les 2 dernières lettres de la colonne MOTIF de la table S6PACTI qui se termine par JP et le nombre de ligne où j'ai les deux dernières lettres de la colonne MOTIF de la table S6PACTI qui se terminent par JN.

    Comment faire merci ?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT S6PACTI.* ,PLPPQUA.*,HOPEMPL.NOMPRE
    FROM S6PACTI
        JOIN PLPPQUA
        ON S6PACTI.MATRI=PLPPQUA.MATRI
        JOIN HOPEMPL
        ON S6PACTI.MATRI= HOPEMPL.MATRI
    WHERE PLPPQUA.CODEQUAL = 'IMP2' AND EXTRACT(DAY FROM DAT) = 1;

  2. #2
    Membre expérimenté Avatar de Arkhena
    Inscrit en
    décembre 2006
    Messages
    480
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 480
    Points : 558
    Points
    558

    Par défaut

    Bonjour,

    Utilisez la fonction d'aggrégation COUNT.

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  3. #3
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Qu'est ce que tu n'arrives pas à faire exactement ?

    - pour compter utiliser COUNT et GROUP BY
    - pour extraire utiliser SUBSTR, RIGHT (cela dépend aussi de ton SGBD)
    ~ Lola ~

  4. #4

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Je voudrais insérer dans ce code, quelque chose qui me permette d'avoir :

    1) le nombre de ligne dans la table S6PACTI où les informations de la colonne MOTIF se terminent par JP.

    2) le nombre de ligne dans la table S6PACTI où les informations dela colonne MOTIF se terminent par JN.

    Quelle est la solution et concrètement comment le mettre en place dans le code existant ?

    Merci

  5. #5
    Membre expérimenté Avatar de Arkhena
    Inscrit en
    décembre 2006
    Messages
    480
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 480
    Points : 558
    Points
    558

    Par défaut

    Bonjour,

    Désolée, mes services ne sont pas gratuits... Je veux bien aider quelqu'un qui fait un effort, mais quelqu'un qui demande que je fasse son travail gratuitement à sa place, non...

    Montrez ce que vous avez essayé et ce qui vous gêne et nous verrons pour vous aider...

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  6. #6

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Je suis novice en sql, alors j'essaye de comprendre ou et comment mettre en place le complément de code que je souhaite.

    Dans le code :
    1) je sélectionne mes tables
    2)je fais une jointure des matricules de la table S6PACTI avec les deux autre tables.
    3) je filtre sur la colonne CODEQUAL de la table PLPPQUA et sur la date.

    Je ne sais pas ou mettre en place le COUNT dans ce code.
    Je ne sais pas comment filtrer sur le JP et NP.

    merci

  7. #7
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Quel SGBD ?
    ~ Lola ~

  8. #8
    Membre Expert
    Homme Profil pro Olivier Dehorter
    Ingenieur de recherche - Ecologue
    Inscrit en
    juin 2003
    Messages
    975
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Dehorter
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : juin 2003
    Messages : 975
    Points : 1 218
    Points
    1 218

    Par défaut

    et pourquoi ne pas commencer par le commencement en lisant les tutoriaux qui sont bien fait

    sur les regroupement

    attention à l'utilisation des étoiles avec des clauses de regroupement

    Je ne sais pas comment filtrer sur le JP et NP.
    aucune visualisation de cette partie dans la requête présentée ????? et avez-vous jeté un coup d'oeuil sur l'operateur LIKE ???

    Selon le SGBD, il existe la fonction REVERSE.......

  9. #9

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Où je peux trouver de quel SGBD il s'agit ?

  10. #10
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Sur quoi tu travailles ?

    Le SGBD c'est la base sur laquelle tes données sont stockées : Oracle, SQL Server, ...
    ~ Lola ~

  11. #11

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    ORACLE.

  12. #12
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Tu dois utiliser COUNT (cf tuto que t'as donné dehorter olivier) et utiliser la fonction SUBSTR pour récupérer les deux derniers caractères.

    Une piste :

    Code :
    1
    2
    3
    4
    SELECT SUBSTR(MaColonne,n), count(*)
    FROM MaTable
    WHERE SUBSTR(MaColonne,n) IN ('B','A')
    GROUP BY SUBSTR(MaColonne,n)
    ~ Lola ~

  13. #13

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Ok merci, mais je l'insère ou dans mon code existant.

  14. #14
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Citation Envoyé par jopont Voir le message
    Ok merci, mais je l'insère ou dans mon code existant.
    Honnêtement : est-ce que tu as lu ce qu'on t'as donné ? Ou tu attend que ça tombe tout cuit dans la bouche ?
    ~ Lola ~

  15. #15

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Oui j'ai lu, mais je ne sais absolument pas comment l'insérer dans mon code existant.

    J'essaye mais ça ne fonctionne pas :

    Code :
    1
    2
    3
    4
    5
    6
    7
    SELECT S6PACTI.* ,PLPPQUA.*,HOPEMPL.NOMPRE,SUBSTR(S6PACTI.MOTIF,7), count(*)
    FROM S6PACTI
        JOIN PLPPQUA
        ON S6PACTI.MATRI=PLPPQUA.MATRI
        JOIN HOPEMPL
        ON S6PACTI.MATRI= HOPEMPL.MATRI
        WHERE PLPPQUA.CODEQUAL = 'IMP2' AND EXTRACT(DAY FROM DAT) = 1 AND (S6PACTI.MOTIF,7) IN ('JP','NP');

  16. #16
    Membre Expert Avatar de lola06
    Femme Profil pro Laure
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Nom : Femme Laure
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 317
    Points : 2 489
    Points
    2 489

    Par défaut

    Il manque le GROUP BY dans un premier temps.

    Et dans ton SELECT il faut que tu définisses ce que tu veux faire apparaitre exactement. Sachant que tous ce qui se trouve dans le select doit se trouver dans le group by.

    Au passage : ne fonctionne pas n'est pas forcément suffisant pour que nous trouvions le problème : pensez à donner l'erreur.
    ~ Lola ~

  17. #17

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Bonjour,

    J'ai une erreur à la ligne 7 : opérateur relationnel non valide.

    merci

  18. #18

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Afin de vous ré expliquer ce que je voudrais, avec le code initial j'obtiens ceci :

    MATRI DATE CODEQUALI MOTIF CODEQUAL NOM
    00212 01/01/2012 OPE COAG60JP IMP2 DUPONT
    00212 01/01/2012 OPE COAG60NP IMP2 DUPONT
    00315 01/01/2012 OP4 COAG70JP IMP2 DURAND
    00212 01/01/2012 OP3 COAG60JP IMP2 JACQUES


    Ce que je souhaiterais, c'est avoir le total de ligne par date pour lesquellesle motif se termine par JP et pour lesquelles le motif se termine par NP.
    Dans l'exemple, pour le 1er janvier 2012, j'ai 3 ligne pour JP et une pour NP.

    Merci pour votre aide.

  19. #19
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 032
    Points : 4 599
    Points
    4 599

    Par défaut

    pour compter séparément vos motif utilisez la fonction sum avec un case / when.
    Et ceci en faisant un group by (voir le lien plus haut d'Olivier)

  20. #20

    Inscrit en
    avril 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 114
    Points : -42
    Points
    -42

    Par défaut

    Merci, mais étant débutant, je ne sais pas comment démarrer.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •