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 :

Problème de jointure : Impossible d'initialiser la requête


Sujet :

HyperFileSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Problème de jointure : Impossible d'initialiser la requête
    Je développe un logiciel perso et je fais face à un problème que je n’arrive pas à résoudre pour l’exécution d’une requête via Hyperfile qui tombe en erreur : Impossible d'initialiser la requête.

    J’ai une requête du style :
    Select A1,A2,B1
    From A
    JOIN B on Condition 1 and Condition 2 and Condition 3

    Lorsque j’exécute cette requête elle plante avec le message d'erreur indiqué ci dessus.

    Par contre si je fais :

    Select A1,A2,B1
    From A
    JOIN B on Condition 1 and Condition 2

    Ou

    Select A1,A2,B1
    From A
    JOIN B on Condition 2 and Condition 3

    Ou

    Select A1,A2,B1
    From A
    JOIN B on Condition 1 and Condition 3

    Ces 3 requêtes fonctionnent …

    Du coup je me demande s’il n’y a pas un nombre limité de condition pour des jointures …

    Est ce que vous avez une idée de quoi cela pourrait revenir ?

    Note : j'ai simplifié la requête pour mon explication car elle beaucoup plus longue que cela.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bon je viens de me créer un serveur postgresql, générer les tables à partir de l'analyse de windev et exécuter la requête complète. Elle fonctionne ... donc il y a un soucis avec HyperFile ...

    Je vais essayer avec HyperFileSQL

  3. #3
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    Tu n'as pas plus de détail que "Impossible d'initialiser la requête" dans le message d'erreur

    Je viens de faire un petit test (dans wdsql et un autre outil) avec 3 conditions sur 2 fichiers HF classic avec INNER JOIN et je n'ai pas ce soucis

    Mais si tu as la possibilité de bosser avec PostgreSQL n'hésite pas, tu éviteras des problèmes et tu auras plus de possibilités

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 249
    Points : 12 895
    Points
    12 895
    Par défaut
    Bonjour,
    Est-ce qu'on peut voir la requête exacte, ainsi que la structure des fichiers concernés ?

    Tatayo.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'ai revu mon code pour utiliser plusieurs requêtes plutot qu'une seule qui ne fonctionnait pas.

    Le problème provenait de jointure ternaire. Du style :
    Date >= DateDebutValidite et Date <= DateFinValidite

    J'en vais 3 ou 4 comme ça.

    Il est probable que le problème provienne également de mon analyse.

    Et sinon non, je n'avais malheureusement pas plus d'information que cela dans l'erreur ... seulement "initialisation impossible de la requête"

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Citation Envoyé par dragonrider8 Voir le message
    Et sinon non, je n'avais malheureusement pas plus d'information que cela dans l'erreur ... seulement "initialisation impossible de la requête"
    Vraiment super HyperFile

  7. #7
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par dragonrider8 Voir le message
    J'ai revu mon code pour utiliser plusieurs requêtes plutot qu'une seule qui ne fonctionnait pas.

    Le problème provenait de jointure ternaire. Du style :
    Date >= DateDebutValidite et Date <= DateFinValidite

    J'en vais 3 ou 4 comme ça.

    Il est probable que le problème provienne également de mon analyse.

    Et sinon non, je n'avais malheureusement pas plus d'information que cela dans l'erreur ... seulement "initialisation impossible de la requête"
    Tu as essayé avec BETWEEN ?

    HyperFile et le SQL

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Octobre 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 254
    Points : 608
    Points
    608
    Par défaut
    Citation Envoyé par dragonrider8 Voir le message
    J'ai revu mon code pour utiliser plusieurs requêtes plutot qu'une seule qui ne fonctionnait pas.

    Le problème provenait de jointure ternaire. Du style :
    Date >= DateDebutValidite et Date <= DateFinValidite

    J'en vais 3 ou 4 comme ça.

    Il est probable que le problème provienne également de mon analyse.

    Et sinon non, je n'avais malheureusement pas plus d'information que cela dans l'erreur ... seulement "initialisation impossible de la requête"
    Bonjour,

    Peux tu donner le code d'une des requetes qui provoquait l'erreur ? Ainsi que la structure des fichiers concernés (ou au moins dans les grandes lignes) ?

    J'aimerai pouvoir tester ce problème que je ne connais pas (et dieu sait pourtant que j'en ai rencontré des problèmes avec Hyperfile !).

    Merci d'avance, cdlt, Arnaud.

  9. #9
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    à la place de JOIN dans les codes suivant placez la jointure qui vous convient ( INNER JOIN ou L/R OUTER JOIN)

    dans votre code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select A1,A2,B1
    From A1 JOIN B1 on Condition 1 and Condition 2 and Condition 3
    il faut écrire soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select A1,A2,B1
    From 
    ((A1 JOIN B1 on A1.ida=B1.ida) JOIN A2.ida2=B1.ida2)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select A1,A2,B1
    From 
    A1 JOIN (A2 JOIN B1 A2.ida2=B1.ida2) ON A1.ida=B1.ida
    selon le résultat que vous devez obtenir.

    Bon dev

Discussions similaires

  1. problème de jointure entre deux requêtes séparées
    Par sinifer dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/05/2009, 15h24
  2. Réponses: 6
    Dernier message: 01/12/2007, 22h28
  3. Réponses: 24
    Dernier message: 24/07/2007, 17h48
  4. [Requête] Problème de jointure
    Par Oilcout dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/03/2007, 16h54
  5. [Requêtes SQL] Problème de jointure ?
    Par soso78 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/12/2006, 15h37

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