Précédent   Forum des professionnels en informatique > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/08/2011, 08h21   #1
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Par défaut [WD11] LEFT JOIN multiples

Salut à tous,

J'ai l'impression que c'est une situation récurrente que je rencontre avec les jointures sous HyperFile et j'aimerai bien pouvoir comprendre le comment du pourquoi... Mais je n'y arrive pas.

Voici une requête toute simple :

Code :
1
2
3
4
5
6
7
8
9
SELECT 
 UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
 UTILISATEUR.NOM AS NOM,
 TCL__2.VALEUR AS CL__2, 
 TCL__3.VALEUR AS CL__3
FROM UTILISATEUR 
 
LEFT JOIN INFOSSUP TCL__2 ON UTILISATEUR.IDUTILISATEUR=TCL__2.IDUTILISATEUR AND TCL__2.IDINFOSLIBRES=2
LEFT JOIN INFOSSUP TCL__3 ON UTILISATEUR.IDUTILISATEUR=TCL__3.IDUTILISATEUR AND TCL__3.IDINFOSLIBRES=3
Je vous explique le principe. J'ai une table utilisateur où je stocke les informations sur les utilisateurs.

Lors de besoins très ponctuels, l'administrateur va avoir besoin d'avoir des informations supplémentaires sur ces utilisateurs (ex : qui peut faire du co-voiturage, qui a des enfants, qui boit du café, etc.). Il va donc créer une "information libre" qu'il pourra supprimer par la suite lorsqu'il aura fini son enquête.
A cette fin, 2 tables supplémentaires ont été créées :
  • InfosLibres : où l'administrateur va créer ses champs d'informations libres
  • InfosSup : où on va stocker la valeur des champs libres pour chaque utilisateur.

Ma requête ci dessus va donc devoir aller chercher, pour chaque champ libre, et pour chaque utilisateur, la valeur correspondante de la table "InfosSup".

Seul hic : tout fonctionne bien lorsqu'il n'y a qu'une info libre à rechercher, mais quand il y a en a plusieurs la requête ne me renvoi aucun résultat !

J'en appel donc à vos connaissances car là je ne m'en sors vraiment pas...

Merci...
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 11h54   #2
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Attention, Windev ne connait pas la syntaxe des conditions directement dans la jointure, il les traite comme une condition WHERE.
Donc la condition sera appliquée après la jointure, et élimine par conséquent les valeurs Null dans la table externe.

Tu peux passer par des sous requetes.

Cdlt, Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h12   #3
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Merci Arnaud pour ta réponse.

J'avais malheureusement essayé par des sous requêtes mais, dans ce cas, il me dit "L'alias TCL__2 est déjà utilisé" :

Code :
1
2
3
4
5
6
7
8
9
SELECT 
 UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
 UTILISATEUR.NOM AS NOM,
 TCL__2.VALEUR AS CL__2, 
 TCL__3.VALEUR AS CL__3
FROM UTILISATEUR 
 
LEFT JOIN (SELECT * FROM INFOSSUP WHERE INFOSSUP.IDINFOSLIBRES=2) TCL__2 ON UTILISATEUR.IDUTILISATEUR=TCL__2.IDUTILISATEUR
LEFT JOIN (SELECT * FROM INFOSSUP WHERE INFOSSUP.IDINFOSLIBRES=3) TCL__3 ON UTILISATEUR.IDUTILISATEUR=TCL__3.IDUTILISATEUR
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 09h24   #4
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Ah... oui il me semble effectivement avoir rencontré ce pb. Si l'on fait plus d'une jointure externe sur une sous-requête, Windev ne comprend plus.
Je n'ai pas poussé plus loin par manque de temps, peut être y -a-t-il une syntaxe qui fonctionne.

Pour ma part, pour contourner le pb, j'ai créé les requetes correspondant aux conditions sur la table externe.

Dans ton cas, cela reviendrait à enregistrer les requetes TCL__2 et TCL__3 et à faire les jointures externes dessus.

Cdlt, Arnaud.

Citation:
Envoyé par windmastr26 Voir le message
Merci Arnaud pour ta réponse.

J'avais malheureusement essayé par des sous requêtes mais, dans ce cas, il me dit "L'alias TCL__2 est déjà utilisé" :

Code :
1
2
3
4
5
6
7
8
9
SELECT 
 UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
 UTILISATEUR.NOM AS NOM,
 TCL__2.VALEUR AS CL__2, 
 TCL__3.VALEUR AS CL__3
FROM UTILISATEUR 
 
LEFT JOIN (SELECT * FROM INFOSSUP WHERE INFOSSUP.IDINFOSLIBRES=2) TCL__2 ON UTILISATEUR.IDUTILISATEUR=TCL__2.IDUTILISATEUR
LEFT JOIN (SELECT * FROM INFOSSUP WHERE INFOSSUP.IDINFOSLIBRES=3) TCL__3 ON UTILISATEUR.IDUTILISATEUR=TCL__3.IDUTILISATEUR
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 09h46   #5
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Aie... Je me doutais d'un truc pareil...

Le problème c'est que le principe des informations libres est que l'utilisateur puisse en créer/supprimer lorsqu'il le veut. Ça me paraît donc pas très "propre" de créer, en même temps que l'utilisateur créé une information libre, la requête correspondante et à chaque fois de réadapter mon code dessus.

En plus il ne me semble pas qu'on puisse utiliser une jointure avec une requête dans une autre requête (à la même manière qu'une vue) ? Peux-tu me le confirmer car je ne m'y connais pas assez... J'ai essayé et il ne reconnait pas mes requêtes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
	UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
	UTILISATEUR.NOM AS NOM,
	TYPE_UTILISATEUR.NOM AS TYPE,
	UTILISATEUR.EMAIL AS EMAIL,
	UTILISATEUR.IMPAYE AS IMPAYE,
	PERIODE.DESIGNATION AS NOMPERIODE, 
	REQ_IL2.Valeur AS cl__2, 
	REQ_IL3.Valeur AS cl__3
 
FROM UTILISATEUR 
LEFT OUTER JOIN TYPE_UTILISATEUR ON UTILISATEUR.IDTYPE_UTILISATEUR=TYPE_UTILISATEUR.IDTYPE_UTILISATEUR 
LEFT JOIN PERIODE ON PERIODE.IDPERIODE=UTILISATEUR.IDPERIODE
LEFT JOIN REQ_IL2 ON UTILISATEUR.IDUTILISATEUR=REQ_IL2.IDUTILISATEUR
LEFT JOIN REQ_IL3 ON UTILISATEUR.IDUTILISATEUR=REQ_IL3.IDUTILISATEUR
Mais ça me donne une idée : peut être qu'en créant dynamiquement une vue que j'utilise ensuite dans ma requête ?

Je vais essayer de creuser cette piste on verra bien.

Merci en tout cas
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 10h03   #6
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Bon... La solution des vues en solution de secours marche bien.

Je ne sais pas si ça sera bien utile à quelqu'un mais voilà au cas où :

Création de la requête de base :

Code :
1
2
3
4
5
6
7
rSQL est une chaîne=[
 SELECT 
  UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
  UTILISATEUR.NOMCOMPLET AS NOMCOMPLET,%1
 FROM UTILISATEUR 
%2
]
Avant l'exécution de la requête, on créé les vues de chaque info libre ainsi que le texte complémentaire de la requête :

Code :
1
2
3
4
5
6
POUR CHAQUE InfosLibres 
	curID=InfosLibres.IDInfosLibres
	HCréeVue("tcl__"+curID,InfosSup,"IDUtilisateur,Valeur","Valeur","IDInfosLibres="+curID)
	sChampSup+=ChaîneConstruit(", " + RC + "  tcl__%1.Valeur AS cl__%1",curID)
	sJointSup+=ChaîneConstruit(" LEFT JOIN  tcl__%1 ON UTILISATEUR.IDUTILISATEUR=tcl__%1.IDUTILISATEUR" + RC,curID)
FIN
Il ne reste alors plus qu'à construire la chaîne en renseignant les paramètres :

Code :
rSQL=ChaîneConstruit(rSQL,sChampSup,sJointSup)
Et voilà notre requête créée dynamiquement :

Code :
1
2
3
4
5
6
7
8
9
 SELECT 
 
  UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
  UTILISATEUR.NOMCOMPLET AS NOMCOMPLET,
  tcl__2.Valeur AS cl__2, 
  tcl__3.Valeur AS cl__3
 FROM UTILISATEUR 
 LEFT JOIN  tcl__2 ON UTILISATEUR.IDUTILISATEUR=tcl__2.IDUTILISATEUR
 LEFT JOIN  tcl__3 ON UTILISATEUR.IDUTILISATEUR=tcl__3.IDUTILISATEUR
Bon je ne sais pas ce que tu en penses mais ça me parraît être du rafistolage pour palier le fait que WinDev ne gère pas correctement le SQL pour le moment (il faut dire aussi que j'ai une version 11 ce qui ne doit pas aranger les choses).

Je posterai une autre solution "plus propre" si je trouve d'ici là.

Merci encore pour ton aide.
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 17h50   #7
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Citation:
Envoyé par Arnaud B. Voir le message
Attention, Windev ne connait pas la syntaxe des conditions directement dans la jointure, il les traite comme une condition WHERE.
Donc la condition sera appliquée après la jointure, et élimine par conséquent les valeurs Null dans la table externe.

Tu peux passer par des sous requetes.

Cdlt, Arnaud.
C'est vrai pour HyperFile C/S 11. Par contre, si tu as posté dans la bonne rubrique, donc que tu es bien en client serveur, tu peux tenter de passer sur un serveur version 14 par exemple. Là ça le gère comme il faut.
Encore mieux en version 16.
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 10h09   #8
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Ah non.

Nous avons fait des tests, je n'ai plus tous les résultats en tête, mais sur ce point précis (condition dans la jointure), ça ne fonctionnait ni en 15 ni en 16 en HF C/S.

Nous n'avons pas fait de tests en v14.

Citation:
Envoyé par Bowen Voir le message
C'est vrai pour HyperFile C/S 11. Par contre, si tu as posté dans la bonne rubrique, donc que tu es bien en client serveur, tu peux tenter de passer sur un serveur version 14 par exemple. Là ça le gère comme il faut.
Encore mieux en version 16.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h19   #9
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Citation:
Envoyé par Bowen Voir le message
C'est vrai pour HyperFile C/S 11. Par contre, si tu as posté dans la bonne rubrique, donc que tu es bien en client serveur, tu peux tenter de passer sur un serveur version 14 par exemple. Là ça le gère comme il faut.
Encore mieux en version 16.
Je pense alors m'être trompé

Il me semblait avoir posté dans la bonne section : Environnements de développement > WinDev > HyperFileSQL ?

Quoi qu'il en soit la solution de rafistolage marche assez bien au final, et assez vite avec des fichiers de 200 enregistrements (pour le moment).

Si le client m'avait laissé le choix, je lui aurait installé un véritable serveur SQL
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h47   #10
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
C'est moi qui me suis trompé, mon message du dessus n'est pas du tout correct, je viens d'ailleurs d'apporter la remarque sur l'aide de PCSoft (en annotation). Les lignes externes de la jointure ne sont pas visibles dès qu'on met une condition dans la jointure.
J'étais pourtant persuadé d'avoir fait le test.
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h50   #11
Membre du Club
 
Avatar de windmastr26
 
Homme
Développeur informatique
Inscription : juillet 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : juillet 2009
Messages : 176
Points : 48
Points : 48
Hélas c'est des cas comme celui là qui prouve certaines limites du langages... (Sans vouloir dénigrer WinDev, langage que je trouve intéressant dans sa capacité à développer rapidement des applications).
windmastr26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h55   #12
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Sans rentrer dans une nouvelle polémique de "pour ou contre" windev, un simple constat : la partie la plus sensible de windev, c'est Hyperfile. C'est de là que viennent la majorité des bugs Windev que j'ai rencontré.
C'est vraiment le parent pauvre de PCSoft, j'en veux pour preuve un Bug signalé en 2008 toujours pas réglé. (trois fois rien, juste un select SUM(Champ), sans GROUP BY, qui me renvoie deux lignes...)
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h37   #13
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Citation:
Envoyé par Bowen Voir le message
C'est moi qui me suis trompé, mon message du dessus n'est pas du tout correct, je viens d'ailleurs d'apporter la remarque sur l'aide de PCSoft (en annotation). Les lignes externes de la jointure ne sont pas visibles dès qu'on met une condition dans la jointure.
J'étais pourtant persuadé d'avoir fait le test.
Ne te flagelle pas, il parait que cette syntaxe fonctionnait en v14, d'après certains sur ce forum.

Personnellement, ça m'étonne, mais nous n'avons fait des tests que sur les v15 et v16.

Citation:
Envoyé par Bowen Voir le message
Sans rentrer dans une nouvelle polémique de "pour ou contre" windev, un simple constat : la partie la plus sensible de windev, c'est Hyperfile. C'est de là que viennent la majorité des bugs Windev que j'ai rencontré.
C'est vraiment le parent pauvre de PCSoft, j'en veux pour preuve un Bug signalé en 2008 toujours pas réglé. (trois fois rien, juste un select SUM(Champ), sans GROUP BY, qui me renvoie deux lignes...)
Tout à fait d'accord !

Cdlt, Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 20h34   #14
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Une vue c'est l'ancêtre d'une source de données dans Windev.
C'est pour ça que je te disais d'utiliser une requete.

Mais tu as raison, c'est pour pallier l'incapacité de Windev à exécuter correctement le SQL qu'on est obligé de passer par des bidouilles pareilles..

En sachant de plus que d'après nos tests, le comportement sur les jointures externes n'est pas le même entre WD15 et WD16, et entre HF CLassic et HF C/S !

Donc méfiance à chaque montée de version...

Autre solution : opter pour un vrai SGBD (PostgreSQL, MS SQL Server ou Oracle).

Citation:
Envoyé par windmastr26 Voir le message
Bon... La solution des vues en solution de secours marche bien.

Je ne sais pas si ça sera bien utile à quelqu'un mais voilà au cas où :

Création de la requête de base :

Code :
1
2
3
4
5
6
7
rSQL est une chaîne=[
 SELECT 
  UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
  UTILISATEUR.NOMCOMPLET AS NOMCOMPLET,%1
 FROM UTILISATEUR 
%2
]
Avant l'exécution de la requête, on créé les vues de chaque info libre ainsi que le texte complémentaire de la requête :

Code :
1
2
3
4
5
6
POUR CHAQUE InfosLibres 
	curID=InfosLibres.IDInfosLibres
	HCréeVue("tcl__"+curID,InfosSup,"IDUtilisateur,Valeur","Valeur","IDInfosLibres="+curID)
	sChampSup+=ChaîneConstruit(", " + RC + "  tcl__%1.Valeur AS cl__%1",curID)
	sJointSup+=ChaîneConstruit(" LEFT JOIN  tcl__%1 ON UTILISATEUR.IDUTILISATEUR=tcl__%1.IDUTILISATEUR" + RC,curID)
FIN
Il ne reste alors plus qu'à construire la chaîne en renseignant les paramètres :

Code :
rSQL=ChaîneConstruit(rSQL,sChampSup,sJointSup)
Et voilà notre requête créée dynamiquement :

Code :
1
2
3
4
5
6
7
8
9
 SELECT 
 
  UTILISATEUR.IDUTILISATEUR AS IDUTILISATEUR,
  UTILISATEUR.NOMCOMPLET AS NOMCOMPLET,
  tcl__2.Valeur AS cl__2, 
  tcl__3.Valeur AS cl__3
 FROM UTILISATEUR 
 LEFT JOIN  tcl__2 ON UTILISATEUR.IDUTILISATEUR=tcl__2.IDUTILISATEUR
 LEFT JOIN  tcl__3 ON UTILISATEUR.IDUTILISATEUR=tcl__3.IDUTILISATEUR
Bon je ne sais pas ce que tu en penses mais ça me parraît être du rafistolage pour palier le fait que WinDev ne gère pas correctement le SQL pour le moment (il faut dire aussi que j'ai une version 11 ce qui ne doit pas aranger les choses).

Je posterai une autre solution "plus propre" si je trouve d'ici là.

Merci encore pour ton aide.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 18h54   #15
Membre actif
 
Patrick FREZE
Développeur informatique
Inscription : avril 2010
Messages : 123
Détails du profil
Informations personnelles :
Nom : Patrick FREZE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2010
Messages : 123
Points : 165
Points : 165
Par défaut et en WD17 ?

Bonjour,

Je réactive ce vieux post pour savoir si quelqu'un a retesté les jointures externes avec conditions en WD17.

Dans la doc des nouveautés 17, PC Soft affirme avoir "optimisé" les conditions dans la clause "ON".

Notamment, est-ce que les lignes externes apparaissent bien ? (et donc la condition n'est plus considérée comme un WHERE)

Merci de votre retour d'expérience.

Patrick
SevenSoftware est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 09h52   #16
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Oui nous avons testé sur la 17 61h et malheureusement rien n'est encore réglé.

Il n'y a aucun changement dans les résultats de nos tests de conformité SQL.

La dernière mise à jour 61h a préparé le terrain au niveau de l'éditeur de requêtes et une prochaine mise à jour (quand ? on ne sait pas) est apparemment prévue pour modifier le comportement d'Hyperfile.

En espérant que ce soit enfin réglé...

Cdlt, Arnaud.

Citation:
Envoyé par SevenSoftware Voir le message
Bonjour,

Je réactive ce vieux post pour savoir si quelqu'un a retesté les jointures externes avec conditions en WD17.

Dans la doc des nouveautés 17, PC Soft affirme avoir "optimisé" les conditions dans la clause "ON".

Notamment, est-ce que les lignes externes apparaissent bien ? (et donc la condition n'est plus considérée comme un WHERE)

Merci de votre retour d'expérience.

Patrick
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 12h56   #17
Membre actif
 
Patrick FREZE
Développeur informatique
Inscription : avril 2010
Messages : 123
Détails du profil
Informations personnelles :
Nom : Patrick FREZE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2010
Messages : 123
Points : 165
Points : 165
Merci Arnaud.

Patrick
SevenSoftware est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h12   #18
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Par défaut Et pourtant...

Réponse de Jérôme Aerts (celui qui présente les TDF) à la question
"quand comptez vous régler les bugs
- requête SUM qui renvoie plusieurs lignes
- Jointures externes qui ne renvoient pas toutes les lignes (donc ce post)"
Citation:
Envoyé par mail de Jérôme Aerts
Un correctif sur ce point est prévu en version 17. Il sera disponible avec la mise à jour qui arrivera fin janvier, de même que les évolutions sur les jointures.
J'adore les effets d'annonce moi...
Ah si, la phrase suivante dans l'e-mail c'était :
Citation:
J'ai vu que vous n'avez pas encore commandé les mises à jour de vos licences en version 17.
A qui dois-je envoyer la proposition de mise à jour ?
Et pour ceux qui me diraient que je relance une polémique, je tiens à ce que ça ne soit pas le cas. ça évitera tout dérapage et permettra que ce post reste affiché.
A chacun d'en tirer ses conclusions.
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 12h34   #19
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Pour information :

la version 17 - 61h, sortie cette nuit (donc datée du 15 fév.) ne règle aucun des deux problèmes.
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2012, 09h46   #20
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

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

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Non, c'est "apparemment" annoncé pour une prochaine mise à jour.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h04.


 
 
 
 
Partenaires

Hébergement Web