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 :

pb sur syntaxe SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 206
    Par défaut pb sur syntaxe SQL
    Bonjour a tous,

    je viens demander un coup de main concernant l'écriture d'une requete.

    j'ai 1 table comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Enseigne R1 R2 R3 R4 R5
    E1      A
    E1      A   B
    E2      A
    E1      C   A
    E1      B   C
    E3      C
    E3      C   A  B
    je cherche a obtenir le comptage d'un meme Type (A, B,...) pour une meme enseigne Toutes colonnes Rn confondues

    Ex:
    E1 : A 3
    E1 : B 2
    Etc..
    pour créer un tableau croisé et un graph

    Merci a vous

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Pour effectuer des comptages, tu utilises GROUP BY.
    Le problème ici, c'est de pouvoir grouper par types.
    Est-ce que tu as une table qui contient les types possibles ?
    Si oui, tu peux faire le produit cartésien de ta table et cette table de référence afin de grouper par (Enseigne, Type)
    Sinon, tu peux la simuler en faisant un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT R1 as coltype FROM TaTable UNION
    SELECT R2 FROM TaTable UNION
    SELECT R3 FROM TaTable UNION
    SELECT R4 FROM TaTable
    => Le produit cartésien te permet de construire toutes les possibilités.


    En suite, pour compter, il suffit d'attribuer la valeur 1 a chaque fois que tu trouves une correspondance, puis de sommer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT enseigne, coltype, 
    sum(CASE R1 WHEN coltype THEN 1 ELSE 0 END + 
        CASE R2 WHEN coltype THEN 1 ELSE 0 END + 
        CASE R3 WHEN coltype THEN 1 ELSE 0 END + 
        CASE R4 WHEN coltype THEN 1 ELSE 0 END 
    ) 
    FROM TaTable a CROSS JOIN TableTypes b
    GROUP BY enseigne, coltype

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 206
    Par défaut
    merci pacmann
    A+

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

Discussions similaires

  1. Syntaxe SQL pour intégrer des commentaires sur tables et colonnes
    Par pierre347 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/07/2014, 16h05
  2. Aide sur syntaxe SQL
    Par zouzoukha dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/03/2011, 17h55
  3. Pb de syntaxe SQL en VBA sur la sélection d'une date
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 18/09/2010, 17h58
  4. [HELP] syntaxe sur parametres SQL
    Par dahu17 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/06/2007, 18h54
  5. syntaxe SQL sur clause where
    Par fpecastaing dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/03/2007, 15h07

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