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 :

Afficher les champs nuls


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut Afficher les champs nuls
    Bonjour,

    J'ai un petit souci avec un état de stock que j'ai réalisé avec une requête. En effet, il ne m'affiche pas les vêtements que j'ai pas dans le stock. Or, j'aimerai les avoir avec 0 comme nombre disponible (voir la ligne donc) :

    Mon état repose sur cette requête d'analyse croisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Liste_Vetements_Dispo.ID_Vetement, Liste_Vetements_Dispo.Désignation, Liste_Vetements_Dispo.Taille, Liste_Vetements_Dispo.Type, '(' & Count(Liste_Vetements_Dispo.Num_Vet) & ')' AS NB, TYPE.Stock_reel, TYPE.Difference
    FROM Liste_Vetements_Dispo INNER JOIN TYPE ON Liste_Vetements_Dispo.ID_Vetement=TYPE.ID_Vetement
    GROUP BY Liste_Vetements_Dispo.ID_Vetement, Liste_Vetements_Dispo.Désignation, Liste_Vetements_Dispo.Taille, Liste_Vetements_Dispo.Type, TYPE.Stock_reel, TYPE.Difference;
    Requête qui elle même compte donc les identifiants de cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TYPE.ID_Vetement, VETEMENT.Num_Vet, DESIGNATION.Désignation, TYPE.Taille, TYPE.Type, VETEMENT.Num_Etat
    FROM (DESIGNATION INNER JOIN TYPE ON DESIGNATION.Num_Designation = TYPE.Désignation) LEFT JOIN VETEMENT ON TYPE.ID_Vetement = VETEMENT.Num_Typ
    WHERE (((VETEMENT.Num_Etat)=5) AND ((VETEMENT.Num_Pers) Is Null));
    Le problème est que vu qu'il n'y a pas de vêtement dans le stock, il ne me met donc pas de ligne dans la première requête, pas de Compt dans la seconde, donc pas de ligne dans l'état. J'espère avoir été clair

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Ce type de problème a été abordé sur ce fil :
    http://www.developpez.net/forums/sho...d.php?t=500520

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup
    mais ca ne m'aide pas beaucoup...

    Quelqu'un a til 5 minutes pour m'aider avec les données de mon cas...

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    re,

    Pourtant il me semble qu'il s'agit du même propos. La requete analyse croisée ne récupère que les champs contenant des données, sauf si tu généres tes propres entetes de colonnes. Ce qui rejoint le fil que je t'ai donné précédemment.

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Le problème ne semble pas venir de ma requête d'analyse croisée mais de la toute première.

    N'ayant pas de vêtement en stock (donc pas de numéro donc pas de ligne), il ne peut pas compter...

    C'est donc dans la première requête qu'il faudrait pouvoir ajouter une ligne quand de chaque quitte à faire -1 après dans la requête croisée...

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    OK, je vois

    As-tu pensé à changer le type de ta jointure dans ta première requete qui te permettrait de "faire apparaitre tous les éléments de la table A et seulement ...". Pour pourvoir changer le type de jointure, dans le QBE (interface de créatio des requetes), tu double cliques sur la jointure et tu choisis le cas qui t'intéresse.

    En fait cela reviendrait à dire, récupère toutes les références articles Dispo et seulement les articles dispos ayant un stock. Les références articles sans stock apparaitront avec un champ vide dans la colonne stock de ta requete

  7. #7
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    J'ai déjà essayer avec toutes les combinaisons possibles ca ne fonctionne pas...

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Pourquoi ne pas créer un stock à 0 pour tous tes vétements qui n'en ont pas ?

    A+

  9. #9
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    J'ai posté la base. J'ai juste les infos nécessaires. Le problème est s'il n'y a pas de ligne dans la table Vetement correspondant à un blouson taille 7 par exemple, il n'apparaît pas dans le stock alors que j'aimerai bien qu'il soit dans le stock avec écrit 0. Merci d'avance
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Je viens de regarder ta base. En effet les jointures sont bonnes. Seulement que fait le n° d'état dans la requête. Sans cette info tout ressort comme tu le souhaites. (du moins il me semble ...)

    Dis moi afin que j'efface tes fichiers de ma machine

    Merci

  11. #11
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Le num Etat correspond à l'état du vêtement :
    1. HS
    4. DONNE
    5. EN STOCK
    6. A COMMANDER
    7. COMMANDE
    8. GARDER

    je teste donc les vêtements en stock et qui ne sont attribués à aucune personne...

  12. #12
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    up ! Si quelqu'un peux m'aider....

  13. #13
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,


    Le problème est s'il n'y a pas de ligne dans la table Vetement correspondant à un blouson taille 7 par exemple, il n'apparaît pas dans le stock
    Or il apparait quand on ne met pas le N° d'état ?

    Pourrais-tu expliquer les relations qu'il y a entre tes tables (l'idée ce serait que les champs liés aient le même nom - plus facile pour s'y retrouver)

    Est-ce que le blouson taille 7 a le numéro détat 5 comme repris dans ta requete ? Si c'est NON alors ta requete réagit bien et le problème vient de ton systeme de n° d'état

    D'ailleurs, il aurait été intéressant d'avoir la table etat dans la base afin ce comprendre un peu de quoi il retourne

    A+

  14. #14
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Liste_Vetements_Dispo:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TYPE.ID_Vetement, VETEMENT.Num_Vet, DESIGNATION.Désignation, TYPE.Taille, TYPE.Type, VETEMENT.Num_Etat
    FROM (DESIGNATION INNER JOIN TYPE ON DESIGNATION.Num_Designation = TYPE.Désignation) LEFT JOIN VETEMENT ON TYPE.ID_Vetement = VETEMENT.Num_Typ
    WHERE (((VETEMENT.Num_Etat)=5)) OR (((VETEMENT.Num_Pers) Is Null));

  15. #15
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Merci
    Cela fonctionne !

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

Discussions similaires

  1. afficher les champs nuls
    Par souf_87 dans le forum Oracle
    Réponses: 7
    Dernier message: 23/05/2011, 12h12
  2. Réponses: 5
    Dernier message: 23/04/2007, 13h37
  3. Re-afficher les champs que l'utilisateur à saisi
    Par Dsphinx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 20/11/2006, 07h27
  4. Réponses: 5
    Dernier message: 25/10/2005, 16h05
  5. afficher les champs null de deux tables dans un select
    Par poil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/09/2005, 15h05

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