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

Android Discussion :

Besoin d'aide pour une requête SQLite


Sujet :

Android

  1. #1
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 796
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 796
    Points : 18 814
    Points
    18 814
    Par défaut Besoin d'aide pour une requête SQLite
    Bonjour,



    J'ai besoin de récupérer les différents Cave_name et en plus le nombre de bouteilles qui appartiennent à cette cave et qui a Bouteille_dSortie IS NULL.

    Pour récupérer les caves j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Rangement.Cave_id AS _id, Rangement.Cave_name AS Cave_name 
    FROM Rangement LEFT JOIN Bouteille 
    ON Rangement.ElementDeRangement_id = Bouteille.ElementDeRangement_id 
    GROUP BY Rangement.Cave_id
    Donc là j'ai bien tout les Cave_name.

    Et sinon j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  Rangement.Cave_id AS _id , Rangement.Cave_name AS Cave_name, 
    COUNT(DISTINCT Bouteille_id) AS Count 
    FROM Rangement LEFT JOIN Bouteille 
    ON Rangement.ElementDeRangement_id = Bouteille.ElementDeRangement_id 
    WHERE Bouteille.Bouteille_dSortie IS NULL 
    GROUP BY Rangement.Cave_id
    Le problème c'est que j'ai les caves qui ont aucune bouteille, mais pas les caves qui n'ont que des caves avec Bouteille_dSortie IS NOT NULL.

    Je suis mauvais en requête SQL...
    Parce que ça doit être super simple, c'est juste que j'ai du mal avec Count, là la clause Where me bloque un peu.

    Pourtant j'ai vu dans des forums des requêtes SQL avec plusieurs Count avec chacun leur propre select from where à chaque fois.

    Parce qu'en fait là il me fait juste un select distinct(cave_id) et un count de bouteille_dSortie IS NULL, mais j'y arrive pas.

    Au revoir.
    Images attachées Images attachées  

  2. #2
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 796
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 796
    Points : 18 814
    Points
    18 814
    Par défaut
    Ah mais je suis trop nul en fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Rangement.Cave_id AS _id, Rangement.Cave_name AS Cave_name, 
    SUM(Bouteille_dSortie IS NULL) AS Count 
    FROM Rangement LEFT JOIN Bouteille ON Rangement.ElementDeRangement_id = Bouteille.ElementDeRangement_id 
    GROUP BY Rangement.Cave_id
    Ça fonctionne !

  3. #3
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 796
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 796
    Points : 18 814
    Points
    18 814
    Par défaut
    Ah presque.
    En fait si il y a aucune bouteille sum me retourne 1.
    Alors que si il y a une bouteille avec Bouteille_dSortie différent de null ça me retourne bien 0.

    ====
    Bon au final comme count(Bouteille_id) me retournait bien 0 quand il y avait 0 bouteille en gros je fais :

    case when count(bouteille_id) = 0 THEN 0 ELSE SUM (...) END

    En gros je fais ça, c'est pas terrible mais ça fonctionne correctement...

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

Discussions similaires

  1. Besoin d'aide pour une requête de MAJ (modif. de car.)
    Par ptitscrat dans le forum Access
    Réponses: 5
    Dernier message: 22/03/2006, 17h27
  2. besoin d'aide pour une requête
    Par lipao17 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/01/2006, 16h55
  3. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 10h33
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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