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 :

Aide requête SQL (jointure ?)


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Aide requête SQL (jointure ?)
    Bonjour,

    Je voudrais faire une requête apparemment simple, mais je n'y arrive pas.

    1 table demande avec les champs suivants :
    id (int), demande (varchar(50)), status (int).

    Je cherche a faire une requête qui affiche un tableau de ce genre
    (en cours veut dire status = 1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ID   | Total   | en cours |
    1    | 23      | 2          |
    2    | 4       | 0 (ou null)|
    3    | 5       | 1         |

    j'arrive a faire une requête pour les deux premières colonnes du tableau, mais impossible d'ajouter la 3eme colonne, les chiffres sont faux :

    1. fonctionne
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      select id, count(userid)
        from demande
    group by id;

    2. ne fonctionne pas
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select d.id, count(d.userid) as "total de demandes", count(s.userid) as "demande en cours"
     from (select userid from demandes where status=1)s, demande d
    group by d.id;

    J'avoue que je suis très bas niveau en SQL...
    Y aurait-il une bonne âme pour me mettre sur le bon chemin ?

    En fait pour faire simple, je veux, pour chaque ID, le nombre total de demandes, et le nombre de demandes en cours (status =1)


    Merci d'avance
    Bert.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      SELECT id,
             count(*)                             AS "total de demandes",
             count(case STATUS when 1 then 1 end) AS "demande en cours"
        FROM demande
    GROUP BY id;

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Génial
    Génial, ca marche !!!


    Merci beaucoup.


    Bon ca ne marche pas dans openoffice base, mais ligne de commande ca passe nickel.


    Juste à trouver le pourquoi d'openoffice base.


    Merci encore !

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

Discussions similaires

  1. Aide Requête SQL
    Par jjg65 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/07/2007, 11h37
  2. Aide requête SQL - UPDATE phpmyadmin
    Par laulau37 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/06/2007, 11h19
  3. Aide requète avec jointure
    Par StanmaD dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/11/2006, 00h55
  4. Aide requête sql
    Par viny dans le forum PostgreSQL
    Réponses: 18
    Dernier message: 14/09/2006, 22h31
  5. Aide Requête SQL (UPDATE)
    Par Glowprod dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/07/2006, 15h04

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