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

Langage SQL Discussion :

Comptabilisation d'un champ en fonction des references


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut Comptabilisation d'un champ en fonction des references
    Bonjour
    voici ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(ARCH.CODE_OF) AS count_ARCH_CODE_OF
    FROM ARCH_TEMPS
    WHERE ARCH.DATE_CALE > convert( datetime, '01/01/2007 00:00:00', 103 )
       AND ARCH.DATE_CALE < convert( datetime, '31/12/2007 11:59:59', 103 )
       AND ARCH.QUAN_THEO <= 100
    Voici mon problème :
    ma requête me retourne un nombre faramineux .comment lui dire que le ARCH.CODE_OF ne doit être comptabilisé qu'une fois par N° d'OF(la table ARCH va prendre toutes les entrées d'OF une fois une entrée de 10P pour un OF de 90 Pièces peut m'amener une dizaine d'entrées
    Merci
    Daranc

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(DISTINCT(ARCH.CODE_OF)) AS count_ARCH_CODE_OF
    FROM ARCH_TEMPS ARCH
    WHERE ARCH.DATE_CALE > convert( datetime, '01/01/2007 00:00:00', 103 )
       AND ARCH.DATE_CALE < convert( datetime, '31/12/2007 11:59:59', 103 )
       AND ARCH.QUAN_THEO <= 100
    En gros tu comptes le nombre de ligne

  3. #3
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Lux08 Voir le message

    En gros tu comptes le nombre de ligne
    pas en gros en détails. Je n'arrivais pas à mettre la main sur le mot clef je n'ai pas farfouillé dans mssql depuis 8 mois (on perds vite surtout quand on a peu appris)
    Merci Daranc

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    tu as le choix tu as le count qui te compte les occurences et le SUM qui t'additionne la valeur du champs en parametre pour toutes les lignes retournées par la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(DISTINCT(ARCH.CODE_OF)) AS count_ARCH_CODE_OF
    FROM ARCH_TEMPS ARCH
    WHERE ARCH.DATE_CALE > convert( datetime, '01/01/2007 00:00:00', 103 )
       AND ARCH.DATE_CALE < convert( datetime, '31/12/2007 11:59:59', 103 )
       AND ARCH.QUAN_THEO <= 100
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ARCH.CLE, COUNT(DISTINCT(ARCH.CODE_OF)) AS count_ARCH_CODE_OF
    FROM ARCH_TEMPS ARCH
    WHERE ARCH.DATE_CALE > convert( datetime, '01/01/2007 00:00:00', 103 )
       AND ARCH.DATE_CALE < convert( datetime, '31/12/2007 11:59:59', 103 )
       AND ARCH.QUAN_THEO <= 100
    GROUP BY ARCH.CLE
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ARCH.CLE, SUM(ARCH.CODE_OF) AS count_ARCH_CODE_OF
    FROM ARCH_TEMPS ARCH
    WHERE ARCH.DATE_CALE > convert( datetime, '01/01/2007 00:00:00', 103 )
       AND ARCH.DATE_CALE < convert( datetime, '31/12/2007 11:59:59', 103 )
       AND ARCH.QUAN_THEO <= 100
    GROUP BY ARCH.CLE

  5. #5
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    Bonjour
    après plusieurs tripatouillages en tout genre
    je suis arrivé à cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT COUNT(ARCH_TEMPS.CODE_OF) AS NB_OF,
       FROM ARCH_TEMPS,ARCH_TEMPS
    WHERE ARCH_TEMPS.DATE_CALE > convert( datetime, '{DEBUT}', 103 )
       AND ARCH_TEMPS.DATE_CALE < convert( datetime, '{FIN}', 103 )
    Laquelle ne me donne pas satisfaction . Les résultats ne sont pas cohérents lorsque que je modifie cette requête. dans ce premier cas brut je comptabilise le
    nombre total des OFs sur une période de Debut à Fin
    j'ajoute une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     and ARCH_TEMPS.QUAN_BONN >5000
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    and ARCH_TEMPS.QUAN_BONN <5000
    and ARCH_TEMPS.QUAN_BONN >2000
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and ARCH_TEMPS.QUAN_BONN >100
    le but étant de comptabiliser les OF < 100 unités
    ou 100<OF<500
    etc... le hic cette requête apparemment comptabilise les entrées trouvées par saisie archivée
    si un OF de 500 unités est entrés en 6 fois ne dépassant pas les 100unités fabriquées à chaque fois il sera pris en compte comme 1 OF < 100
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and sum(ARCH_TEMPS.QUAN_BONN )>100
    me plante la requête

    Quelqu'un à une solution
    Merci
    G.David

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Définition des tables s'il vous plait.

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

Discussions similaires

  1. update d'un champ en fonction des valeurs des autres
    Par jamesleouf dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 03/06/2008, 11h51
  2. Réponses: 6
    Dernier message: 16/10/2007, 20h07
  3. Requête variable en fonction des champs disponibles
    Par hemgui dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/05/2007, 14h30
  4. Réponses: 8
    Dernier message: 04/04/2007, 15h29
  5. [CR] mise en forme d'un champs texte en fonction des données
    Par niPrM dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/06/2004, 11h57

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