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

Discussion :

Un count dans une requete BO

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 98
    Points : 56
    Points
    56
    Par défaut Un count dans une requete BO
    Dans la création d'un univers, je dois créer un objet bon client qui ne comporte que les clients ayant fait au moins 10 commandes.
    Pour cela je dois utiliser un count. Or en sql, on ne peut pas mettre un count dans un where et le having sous BO n'a pas l'air de marcher.
    Donc si quelqu'un sait comment je peux faire.
    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Et un objet (ou fltre prédéfini) avec un SQL du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =decode(somme(decode(CommandeNum,null,0,1))-9,1,'Bon client',null)
    Ce qui revient à dire que si la ((somme des 1 attribués aux numéros de commandes existantes )-9) génère un nombre positif c'est qu'il y en a au mois 10 c'est donc un bon client.
    Bien entendu cet objet devra s'employer avec l'objet Client
    Il faudra peut être l'adapter à ton cas mais c'est la piste que j'emprunterais

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Quand tu crées un objet dans un univers, tu peux lui mettre une condition where.

    Dans la condition where tu écris le test nombre de commande >10

    Attention, si tu utilises cette méthode, cela fera un select imbriqué.
    Sur une très grosse volumétrie (plusieurs millions de lignes), tu risques d'avoir des performances médiocres.

    Si tu as besoin de plus d'informations, tu indiques le nom et le format des tables et leur signification et je regarde cela dès que possible.

    Cdlt,
    Guiblan

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2008
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    Tu peux faire une table dérivée avec ton having

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select CODECLI, count(*)
    from CLIENT
    inner join COMMANDE on CLIENT.CODECLI = COMMANDE.CODECLI
    group by codecli
    having count(*) > 10
    Ca te donne une table virtuelle avec les codes clients qui ont plus de dix commandes. Il te suffit de faire une jointure (INNER JOIN) avec la table client.

    Ca revient un peu à la solution de Guiblan et le problème est le même: la performance si grosse volumétrie.

  5. #5
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Citation Envoyé par alextoucour Voir le message
    Tu peux faire une table dérivée avec ton having
    Bonjour,
    alextoucour suppose que tu es au moins en version 6.5 (en V5 pas de table dérivée)
    Nous ne savons toujours pas en quelle version tu es !


Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2007, 12h23
  2. PLusieurs COUNT dans une requete?
    Par haludo dans le forum Access
    Réponses: 3
    Dernier message: 04/10/2006, 10h38
  3. [Requete] Deux count dans une requete
    Par wperezrobles dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/10/2006, 09h17
  4. [Access] Probleme de count dans une requete sql
    Par castelligreg dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/04/2006, 16h20
  5. [sql]Probleme de count dans une requete sql (sous access)
    Par castelligreg dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/04/2006, 16h06

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