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

SQL Firebird Discussion :

Besoin d'aide pour une requête SQL


Sujet :

SQL Firebird

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Besoin d'aide pour une requête SQL
    Bonjour,

    J'aurais besoin d'un petit coup de main pour une requête SQL...

    Une table 3 champs:

    Article Quantité Statut
    TOTO 1 A
    TATI 2 A
    TOTO 3 B
    TATI 2 A

    J'aimerais construire une requête me permettant d'afficher:

    Article Quantité de A Quantité de B
    TOTO 1 3
    TATI 4 0

    Je tourne et retourne sans résultat probant...

    Merci d'avance pour votre aide

    Cordialement

    Marsu

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour et Bienvenue sur le forum

    Je n'ai pas utilisé les mêmes valeurs , j'aurais préféré avoir un code de ce type pour ne pas avoir à créer ma propre table et jeu d'essai
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE TABLE TEST
    (
      NOM Varchar(5),
      QTE Integer,
      CODE Char(1)
    );
     
     
    INSERT INTO TEST (NOM, QTE, CODE) VALUES ('TATA', '2', 'A');
    INSERT INTO TEST (NOM, QTE, CODE) VALUES ('TETE', '1', 'B');
    INSERT INTO TEST (NOM, QTE, CODE) VALUES ('TOTO', '4', 'A');
    INSERT INTO TEST (NOM, QTE, CODE) VALUES ('TOTO', '4', 'B');
    INSERT INTO TEST (NOM, QTE, CODE) VALUES ('TOTO', '1', 'A');

    mais voici comment, moi, je ferais (j'aime bien scinder un problème en morceaux)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    WITH A AS (SELECT NOM,SUM(QTE) AS QTEA FROM TEST WHERE CODE='A'
               GROUP BY NOM),
         B AS (SELECT NOM,SUM(QTE) AS QTEB FROM TEST WHERE CODE='B'
               GROUP BY NOM)           
     
    SELECT COALESCE(A.NOM,B.NOM) AS NOM, COALESCE(A.QTEA,0) AS COLUMN_A,COALESCE(B.QTEB,0) AS COLUMN_B FROM A FULL JOIN B
    ON A.NOM=B.NOM
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Ou bien comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT 
    	NOM
    	,SUM(CASE WHEN CODE = 'A' THEN QTE ELSE 0 END) AS QTEA
    	,SUM(CASE WHEN CODE = 'B' THEN QTE ELSE 0 END) AS QTEB
    FROM TEST
    GROUP BY NOM 
    ;

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Un grand merci à vous deux , je prend la deuxième solution

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

Discussions similaires

  1. Besoin d'aide pour une requête SQL
    Par p_oum dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 26/11/2009, 09h29
  2. Besoin d'aide pour une requête SQL
    Par sexy-meta dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/07/2008, 14h36
  3. Besoin d'aide pour une requête SQL
    Par FranckyVegas dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/05/2008, 20h16
  4. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 10h33
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

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