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

Requêtes et SQL. Discussion :

Requête qui regroupe par catégorie


Sujet :

Requêtes et SQL.

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut Requête qui regroupe par catégorie
    Bonjour,

    Je coince au niveau d'une requête que je souhaiterais obtenir.
    Je vais essayer d'être claire :
    T_AFFAIRES dont le champ Réftypetransaction.

    Je souhaiterais pouvoir obtenir le tableau suivant :
    Loc ___________ Loc bis ___________ Vente
    13 4 18

    c'est-à-dire compter tous les types de transaction dont la ref=1 et qu'ils soient classés AS Loc, compter tous les types de transaction dont les ref sont 3 et 11 et les classer AS Loc bis et compter tous les types de trans de référence 2,4,5,6,7,8,9,10 et les classer AS Vente
    HAVING un critère = True

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT IIf([ref]=1,"loc",IIf([ref]=2,"loc bis","ventes")) AS Expr1, Count(taff.ref) AS CompteDeref
    FROM taff
    GROUP BY IIf([ref]=1,"loc",IIf([ref]=2,"loc bis","ventes"));
    Elle est pas belle la vie ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Bonsoir Random

    Désolée mais j'ai un message d'erreur : ".... ne faisant pas partie de la fonction d'agrégat"...

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Non ça y est c'est bon,

    Mais pour les ref il y a des Iif où les ref c'est à la fois x et y...?

    Que faire

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Bonsoir, après une petite absence, je reviens à la charge et je reformule :
    Le code donné par Random fonctionne, cependant j'ai trois catégories et non deux. De plus, comment écrire que pour la 2ème catégorie réf=3 ET 11.

    En espérant être plus claire.

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Bonsoir,

    J'ai fini par faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT IIf([Réftypetransaction]=1,"Location pure",IIf([Réftypetransaction]=3 And 11,"Location ADE (DAB/PDP)","Cession/Vente")) AS Expr1, Count(AFFAIRES.Réftypetransaction) AS CompteDeref
    FROM AFFAIRES
    GROUP BY IIf([Réftypetransaction]=1,"Location pure",IIf([Réftypetransaction]=3 And 11,"Location ADE (DAB/PDP)","Cession/Vente")), AFFAIRES.[Transaction aboutie]
    HAVING (((AFFAIRES.[Transaction aboutie])=True));
    ce qui me donne la 1ere miniature;

    J'aurai bien voulu avoir un affichage comme la 2ème miniature mais cette dernière que j'ai faite me donne n'importe quoi comme résultat.
    Voilà le code que j'avais fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(A1.Réftypetransaction) AS [Location pure], Count(A2.Réftypetransaction) AS [Location ADE (DAB/PDP)], Count(A3.Réftypetransaction) AS [Cession/Vente]
    FROM AFFAIRES AS A1, AFFAIRES AS A2, AFFAIRES AS A3
    HAVING (A1.Réftypetransaction=1 AND A2.Réftypetransaction IN (3,11) AND A3.Réftypetransaction IN (2,4,5,6,7,8,9,10));
    Cela était-il possible ?
    Vu que je voulais me servir de cette requête pour faire un tableau croisé dyn.(elle serait l'entête de colonne), cela a t-il de l'importance ?

Discussions similaires

  1. Requête Sql qui regroupe par date
    Par stade13 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/02/2013, 17h51
  2. Requête SQL regroupée par décénnie
    Par Gingirou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/12/2012, 21h31
  3. Récupérer les requêtes qui passent par ODBC
    Par Danger dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/07/2009, 14h13
  4. créer une requête pour regrouper par mois
    Par kuhnden dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 26/01/2008, 13h41

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