Bonjour à tou-te-s,
je bloque sur un problème posé par une utilisation sans doute limite de la fonction GROUP_CONCAT d'une requête. Je viens de découvrir cette fonction mais je ne suis pas un expert certifié en SQL.
L'idée est d'obtenir toutes les adresses d'un contact dans un même enregistrement. La requête fonctionne comme attendue mais dans certains enregistrements les dernières adresses sont coupées. J'ai donc essayer de caster le GROUP_CONCAT pour le mettre sous un type de chaîne plus longue... mais MySQL râle.
C'est où que j'ai mal écrit la requête?...
Saluations
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT CONCAT(`tab1`.`Nom`, ' ', `tab1`.`Prenom`) 'Nom Prénom', `tab1`.`id` 'ID', CAST(GROUP_CONCAT( CONCAT ('* ', `tab2`.`type`, ' (', `tab2`.`adresse`, ')')) ORDER BY `tab2`.`type` ASC SEPARATOR '\n') AS LONGTEXT) AS 'Type adresse (adresse)' FROM `tab1` LEFT JOIN `tab2` ON `tab2`.`ID` = `tab1`.`ID` GROUP BY `tab1`.`ID`
PS: la partie en rouge est une tentative de caste... qui ne marche pas
Partager