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

Bases de données Delphi Discussion :

Problème requete SQL dans adoquery


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 47
    Points : 29
    Points
    29
    Par défaut Problème requete SQL dans adoquery
    Mon problème c'est que ma requète ne renvoie que les données qui on un prix_courant alors que certain article non pas encore de prix et j'aimerais qu'il soient aussi afficher dans mon dbgrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    With AdoQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Text:='SELECT A.code_article, A.libelle_long, A.Designation_article, A.code_modele, A.quantite_mini_vente,A.status_article,P.prix_courant, R.libelle_rayon, F.libelle_famille, L.nom_fournisseur'
    +#10#13+ 'FROM ((((Article as A'
    +#10#13+ 'INNER JOIN Prix_courant as P'
    +#10#13+ 'ON ((A.code_article = P.code_article) and (A.circuitapproaffiche = ''S'') and (A.status_article = ''AC'')))'
    +#10#13+ 'INNER JOIN Rayon as R '
    +#10#13+ 'ON A.code_rayon = R.code_rayon)'
    +#10#13+ 'INNER JOIN Famille as F'
    +#10#13+ 'ON (A.code_famille = F.code_famille) and (F.code_rayon = r.code_rayon))'
    +#10#13+ 'INNER JOIN Fournisseur as L'
    +#10#13+ 'ON a.code_fournisseur = l.code_fournisseur)';
    Merci d'avance

  2. #2
    Membre averti Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Points : 315
    Points
    315
    Par défaut
    au lieu de faire un inner join sur la table prix_courant essaye plutot un left join.
    Je ne suis pas sur de tête, mais il me semble que ça devrais te convenir

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par BOUBOU81
    au lieu de faire un inner join sur la table prix_courant essaye plutot un left join.
    Je ne suis pas sur de tête, mais il me semble que ça devrais te convenir
    En utilisant LEFT JOIN, je me retrouve avec une violation d'accès.

  4. #4
    Membre averti Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Points : 315
    Points
    315
    Par défaut
    ça c'est étrange.
    c'est quoi comme violation d'accès, c'est depuis l'application ou bien lors de l'execution de la requete?
    quel est ton SGBD?

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Comme l'a dit Boubou81, le mieux est un left join

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    With AdoQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT A.code_article, A.libelle_long, A.Designation_article, A.code_modele, A.quantite_mini_vente,A.status_article,P.prix_courant, R.libelle_rayon, F.libelle_famille, L.nom_fournisseur');
      SQL.Add('FROM ((((Article as A');
      SQL.Add('LEFT JOIN Prix_courant as P');
      SQL.Add('ON ((A.code_article = P.code_article) and (A.circuitapproaffiche = ''S'') and (A.status_article = ''AC'')))');
      SQL.Add('INNER JOIN Rayon as R ');
      SQL.Add('ON A.code_rayon = R.code_rayon)');
      SQL.Add('INNER JOIN Famille as F');
      SQL.Add('ON (A.code_famille = F.code_famille) and (F.code_rayon = r.code_rayon))');
      SQL.Add('INNER JOIN Fournisseur as L');
      SQL.Add('ON a.code_fournisseur = l.code_fournisseur)');
    Puis avec des SQL.Add c'est largement plus lisible ^^ et ca fait la même chose que +#13#10 +

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 47
    Points : 29
    Points
    29
    Par défaut [resolu]
    C'est bon ca fonctionne avec LEFT JOIN.

    Merci beaucoup

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

Discussions similaires

  1. probléme de requete SQl dans une base SQL Server
    Par sasuma dans le forum Développement
    Réponses: 7
    Dernier message: 09/05/2009, 17h09
  2. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 14h40
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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