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

HyperFileSQL Discussion :

Petite question de syntaxe SQL


Sujet :

HyperFileSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Petite question de syntaxe SQL
    Je débute en SQL alors au départ désolé si ma question peut vous sembler stupide.
    Faisons un exemple simple:
    J'ai un fichier "Inventaire" et un fichier "Quantite"

    Inventaire:
    NoPrd => #Produit (Clé unique)
    Descr => Description

    Quantite:
    NoPrd => #Produit
    NoSuc => #Succursale
    Qte => Quantité du produit
    ClPrdSuc => Clé NoPrd+NoSuc (Unique)

    Quel serait la syntaxe SQL à utiliser pour récupérer la quantité en succursale 2 de tous les produits donc la description commence par "A" et du même coup que la quantité soit 0 si il n'y a pas de fiche pour le produit/succursale en question dans le fichier Quantité?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
    Inventaire.NoPrd as NoPrd,
    Inventaire.Descr as Descr,
    Quantité.Qte as Qte
    FROM Inventaire

    (C'est ici que je bloque)

    Merci à l'avance...

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Je dirais à peu près ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT
    Inventaire.NoPrd as NoPrd,
    Inventaire.Descr as Descr,
    Quantité.Qte as Qte
    FROM Inventaire,Quantite
    WHERE Inventaire.NoPrd = Quantite.NoPrd 
    AND Quantite.NoSuc = 2 
    AND Inventaire.Desc like 'A%'
    La connaissance s'accroît quand on la partage.

  3. #3
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Bonjour,

    Pour récupérer aussi les qtés à 0 des produits n'ayant pas de fiche quantité, il faut un LEFT JOIN entre les 2 fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT
    Inventaire.NoPrd AS NoPrd,
    Inventaire.Descr AS Descr,
    NVL(Quantité.Qte,0) AS Qte
    FROM Inventaire  iv LEFT JOIN Quantite qt
    ON iv.NoProd=qt.NoPrd  AND qt.NoSuc=2 AND iv.descr like 'A%'
    Attention, cette requête ne fonctionne qu'avec les derniers correctifs de la version 17.
    Avant cela, les conditions de ce type de jointures étaient traitées comme une clause Where, et donc les enreg externes ne sortaient jamais.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Dans un premier temps j'avais fait un left mais je ne l'avais pas posté : les explications n'étaient pas assez claires :
    et du même coup que la quantité soit 0 si il n'y a pas de fiche pour le produit/succursale en question dans le fichier Quantité?
    Ce n'est pas le fait que la quantité soit égale à 0 qui est important, c'est le fait que la requête ramène une ligne dans le cas ou il n'y a pas de correspondance trouvée dans le fichier quantité.
    La connaissance s'accroît quand on la partage.

Discussions similaires

  1. [Flex4] Petite question de syntaxe
    Par yvancoyaud dans le forum Flex
    Réponses: 1
    Dernier message: 29/03/2012, 11h10
  2. [MySQL] Petite Erreur de syntaxe SQL difficilement décelable
    Par hgushgus dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/07/2011, 22h52
  3. Petite question de syntaxe! :)
    Par memel182 dans le forum Langage
    Réponses: 10
    Dernier message: 14/12/2008, 21h59
  4. Petite question de syntaxe
    Par ryan dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/01/2008, 19h00
  5. Petite question de syntaxe
    Par gmonta31 dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2006, 11h08

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