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

WinDev Discussion :

Requête LEFT join


Sujet :

WinDev

  1. #1
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    422
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 422
    Points : 174
    Points
    174
    Par défaut Requête LEFT join
    Bonjour,

    Problème tout simple mais je ne comprends pas le sql de windev. J'essaie de faire une requête simple dans l'éditeur de requête.

    J'ai une table contact rattachée à une table interlocuteur ( un contact n interlocuteurs ) rattachée à une table rapport ( un interlocuteur n rapport ). Je voudrais sortir tous les contacts ( qu'ils aient des interlocuteurs ou pas ), tous les interlocuteurs correspondant ( qu'ils aient des rapports ou pas ), et tous les rapports correspondant.

    Ce code marche sous sql server mais pas sous windev. Windev me le remet en forme automatiquement et me renvoie une erreur. Savez vous comment écrire ce genre de requête sous l'éditeur de requête svp ? Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select contact.nom,interlocuteur.nom,rapport.date
    from contact
    left join interlocuteur on contact.idcontact=interlocuteur.numcontact
    left join rapport on interlocuteur.idinterlocuteur=rapport.numinterlocuteur

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Version de windev ? et plus particulièrement version du serveur HF si c'est un serveur ?
    Est-ce que l'erreur arrive aussi quand tu testes ta requête à partir du WDSQL ?
    Quelle est l'erreur ?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Tu devrais lire attentivement la documentation sur le sujet, notamment la syntaxe:
    http://doc.pcsoft.fr/fr-FR/?2034007&...oin-outer-join

    Soit tu emploies la syntaxe "HyperFile" (où les jointures sont listées une à une et séparées pas des parenthèses), soit tu emploies la syntaxe "compatible" (où les jointures sont enchainées les unes après les autres, mais hiérarchisées avec des parenthèses).

    Dans l'exemple que tu donnes, la syntaxe ressemble à la syntaxe "compatible", mais il y manque les parenthèses.
    _

  4. #4
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    422
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 422
    Points : 174
    Points
    174
    Par défaut
    Merci de vos réponses.
    Je possède la version 14 de windev, et je travaille en ole avec SQL SERVER 2005.
    Je pense que je vais utiliser des requêtes sans correction pour éviter de me casser la tête avec le sql de windev.
    Je n'ai jamais fait d'état, c'est mon premier. Savez vous si on peut remplir un état un peu comme on remplit une table, c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQLExec(marequeterelance,"marequete")
    TANTQUE SQLAvance("marequete") = 0 
    	TableAjouteLigne(table_listerelance,SQLLitCol("marequete", 1),SQLLitCol("marequete", 2),SQLLitCol("marequete", 3),SQLLitCol("marequete", 4),SQLLitCol("marequete", 5),SQLLitCol("marequete", 6),SQLLitCol("marequete", 7),SQLLitCol("marequete", 8))	
    FIN
    Dans ce cas là,doit-on affecter par programmation les rubriques liées pour tous les champs ?

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    Normalement tu peux lors de la création de ton état donner la source qui dans ton cas sera la requête.
    L'assistant de WD pour les états devrait te montrer comment faire

    Cordialement

    Lookoum

Discussions similaires

  1. Requête LEFT JOIN ON si condition
    Par gnain dans le forum Développement
    Réponses: 5
    Dernier message: 30/01/2015, 12h34
  2. Requête left join
    Par sheira dans le forum Requêtes
    Réponses: 8
    Dernier message: 21/06/2011, 13h21
  3. Problème requête LEFT JOIN
    Par absot dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/05/2011, 00h20
  4. Pb de requête LEFT JOIN
    Par ofostier dans le forum Requêtes
    Réponses: 5
    Dernier message: 24/06/2008, 10h03
  5. [Access2003]-Perte de données requête left join
    Par alcabk dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/10/2007, 11h45

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