PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → STRING_AGG et MySQL
STRING_AGG et MySQL
Iniciado por Lionel Lemoine, 09,dic. 2019 15:33 - 9 respuestas
Miembro registrado
61 mensajes
Popularité : +3 (3 votes)
Publicado el 09,diciembre 2019 - 15:33
Bonjour

J'ai des problème pour utiliser l'instruction SQL STRING_AGG sur une base MySQL, sur une requête pourtant simple

SELECT STRING_AGG(inscriptions_participants.Nom_participant + ' ' + inscriptions_participants.Prenom_participant,'/')
FROM inscriptions_participants


Quand je teste j'ai un message qui me dit que la fonction STRING_AGG n'existe pas.

Je pourrais bien sur utiliser "GROUP_CONTACT" avec une requête sans correction HFSQL, mais alors la requête n'est pas reconnu et je ne peux l'utiliser dans un état, ce qui est mon but.

Quelqu'un a-t-il eu ce genre de problème ?

PS. Je suis en Windev 24

Merci de votre aide
Miembro registrado
182 mensajes
Popularité : +10 (10 votes)
Publicado el 10,diciembre 2019 - 09:16
Hello,
"STRING_AGG" n'existe pas sur MySQL, d'où le fait que cela ne fonctionne pas.
"GROUP_CONTACT" non plus, c'est "GROUP_CONCAT"
Publicado el 10,diciembre 2019 - 09:17
Lionel Lemoine a formulé ce lundi :
Bonjour

J'ai des problème pour utiliser l'instruction SQL STRING_AGG sur une base
MySQL, sur une requête pourtant simple

SELECT STRING_AGG(inscriptions_participants.Nom_participant + ' ' +
inscriptions_participants.Prenom_participant,'/') FROM
inscriptions_participants


Quand je teste j'ai un message qui me dit que la fonction STRING_AGG n'existe
pas.

Je pourrais bien sur utiliser "GROUP_CONTACT" avec une requête sans
correction HFSQL, mais alors la requête n'est pas reconnu et je ne peux
l'utiliser dans un état, ce qui est mon but.

Quelqu'un a-t-il eu ce genre de problème ?

PS. Je suis en Windev 24

Merci de votre aide


bonjour,

MySQL ne connait pas STRING_AGG (=> Transac-SQL / SQL Server) mais il
connait très bien CONCAT()

--
Cordialement JeAn-PhI
Miembro registrado
940 mensajes
Popularité : +66 (68 votes)
Publicado el 10,diciembre 2019 - 12:34
Bonjour Lionel,


Lionel Lemoine a écrit :
Bonjour
........
Je pourrais bien sur utiliser "GROUP_CONTACT" avec une requête sans correction HFSQL, mais alors la requête n'est pas reconnu et je ne peux l'utiliser dans un état, ce qui est mon but.
......


en quoi la requête n'est pas reconnue ??
vous pouvez saisir normalement sans soucis une requête depuis l'éditeur en saisissant son code SQL avec des fonctions SQL spécifique à MySQL non gérer par HFSQL....
puis faire un HExecuteRequete() avec l'option HRequeteSansCorrection.

çà ne devrait pas poser de problème.
Miembro registrado
61 mensajes
Popularité : +3 (3 votes)
Publicado el 10,diciembre 2019 - 17:14
Bonjour.

Quand je dis que la requête n'est pas "reconnue", c'est qu'elle ne peut être utilisée comme source d'une table fichier ou d'un état...
Sinon effectivement cela fonctionne avec l'option HRequeteSansCorrection.
Miembro registrado
2.571 mensajes
Popularité : +222 (260 votes)
Publicado el 10,diciembre 2019 - 18:02
Une solution peut être de charger le résultat dans un tableau et de baser l'état sur ce tableau ou encore de remplir une table et de baser l'état sur la table...

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 11,diciembre 2019 - 09:20
Bonjour.

Oui effectivement. C'est aussi à cela que je pensais...
Merci en tout cas
Miembro registrado
940 mensajes
Popularité : +66 (68 votes)
Publicado el 11,diciembre 2019 - 10:50
rebonjour Lionel

je viens de faire un petit test,

et je n'ai aucun soucis, tout fonctionne.

Voici ce que j'ai :

ma requête ( saisie en code SQL ) sous l'éditeur :





avec son code SQL :

SELECT group_concat(prenom) AS my_result FROM client




mon code pour imprimer mon état :

HExécuteRequête(Requête_MySQL_GROUP_Concat,MaConnexionDelfi,hRequêteSansCorrection)
iAperçu(iapZoom100)
iImprimeEtat(Etat_Requete_MySQL_Group_CONCAT)


MaConnexionDelfi est ma connexion directement saisie dans l'analyse....

le résultat de mon état qui est donc lié à ma requête :





le même résultat via le client MySQL:




Publicado el 11,diciembre 2019 - 14:02
Bonjour.

Ok, mais mon souci c'est que je ne parviens pas à lier mon état à la requête, dans le descriptif de l'état et donc les champs non plus.

Vous avez fait comment ?
Miembro registrado
940 mensajes
Popularité : +66 (68 votes)
Publicado el 11,diciembre 2019 - 15:47
rebonjour,

j'ai juste fait

Créer un Etat
de Type Tableau
D'un fichier de données ou d'une requête existante
Je sélectionne ma requête ( précédemment créée sous l'éditeur )
je sélectionne les rubriques à afficher
et ensuite le format A4 paysage