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 retournant une liste complète malgré condition non remplie [Débutant(e)] [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Requête retournant une liste complète malgré condition non remplie
    Bonjour à toutes et tous,

    Je bloque sur un problème apparemment simple dont voici l'intitulé :

    J'ai une table reprenant mes produits, leurs constituants et leurs quantités respectives.

    Produit Constituant Quantité
    A Pomme 5
    A Poire 10
    B Poire 32

    Je voudrais créer une requête qui me renvoie, pour CHAQUE produit, la quantité de pomme. Soit obtenir le résultat suivant :

    Produit Constituant Quantité
    A Pomme 5
    B Pomme 0

    Actuellement ma requete toute simple ne me renvoie que le produit A avec la quantité de pomme. Je voudrais qu'elle me renvoie également B mais avec 0 en quantité. Je précise que la structure de la table m'est imposée...

    J'ai bricolé avec des VraiFaux mais à présent pas moyen d'obtenir ce résultat pourtant si simple...

    En vous remerciant d'avance pour votre aide !

    Bon après-midi !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mai 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mai 2014
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    voici une solution (qui n'est peut-être pas la meilleure..mais qui fonctionne) :

    La table :

    Nom : CaptureTable.PNG
Affichages : 88
Taille : 10,1 Ko

    Ensuite faire une première requête (attention à ne pas cocher "Constituant_Prod") :

    Nom : CaptureRequProd.PNG
Affichages : 87
Taille : 14,9 Ko

    Voici le résultat de cette première requête :

    Nom : CaptureRésultatRequProd.PNG
Affichages : 89
Taille : 6,8 Ko

    Faire maintenant une deuxième requête (qui prend la première requête "comme si c'était une table" en fait...) :

    Nom : CaptureRequProdBis.PNG
Affichages : 89
Taille : 12,6 Ko

    Voici le résultat de cette deuxième requête :

    Nom : CaptureRésultatRequProdBis.PNG
Affichages : 91
Taille : 7,4 Ko

    Voili voilà, bonne chance !

  3. #3
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Avec une sous-requete et 2 alias pour distinguer les 2 appels de la même table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select distinct a.produit, nz((select sum(qt) from matable as b where b.produit=a.produit and b.composant='pomme'),0) as somme
    from matable as a
    Ah ben j'ai été doublé mais en fait ça dit à peu près la même chose
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  4. #4
    Membre à l'essai
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mai 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mai 2014
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    (re) bonjour,

    j'ai testé la solution de Nico84, évidemment bien plus synthétique que la mienne..

    Seul petit souci : lorsqu'il ne s'agit pas du produit "pomme", la requête renvoie un champ vide.

    Comment pourrait-on faire en sorte (avec le SQL) qu'elle renvoie la valeur "zéro" ?

    Merci d'avance.

  5. #5
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Non en fait c'est pareil, simplement j'utilise le SQL et non le requeteur microsoft

    Pour le 0 j'ai rajouté nz ci-dessus
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci à tous les 2 pour vos réponses, à la fois en mode "requete" et en mode "sql", c'est super pour l'apprentissage, et ça a parfaitement résolu mon problème !!

    Bonne journée !

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

Discussions similaires

  1. [AC-2013] Par une requête, recopier une valeur si deux conditions sont remplies
    Par Majeanne dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/05/2015, 23h27
  2. [10g] Requête retournant une liste de tables contenant un même champs
    Par appaloosa753 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 04/03/2014, 15h23
  3. [AC-2007] Condition WHERE en SQL qui me retourne une liste vide
    Par Rodrigue dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/11/2010, 15h28
  4. afficher une fenetre affichant les conditions non remplies
    Par doogybreton dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/01/2008, 00h03
  5. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 12h11

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