Requête SQL CONCAT
Quote -
Bonjour,
J'ai une table dans ma bdd qui contient un historique de mes problèmes et je cherche à les affichés dans une colonne d'un tableau, pour ça ma requête SQL pour l'instant ne fonctionne pas comme je voudrais :
SELECT description, date, GROUP_CONCAT(DISTINCT `description`, " le " , `date` SEPARATOR " | ") AS historiquetotal from historique
Le problème c'est que ça ne me renvoi qu'un seul enregistrement :
et je crois que dans ma colonne historiquetotal ces toutes les lignes de ma tables (toutes les descriptions et dates).
Une clé étrangère fait référence a ma table problème dans la table historique et pour un problème il peut y avoir plusieurs descriptions et plusieurs dates exemple.
Un exemple du résultat que je cherche à avoir :
Le but final serait juste de garder la colonne historique total et chaque ligne de mon tableau fera référence à un problème et il y aura donc la colonne qui renseigne les descriptions et les dates pour chaque problème.
J'espère avoir été assez clair, normalement avec ces beaux schémas ça devrait le faire ! ????
Si quelqu'un sait, merci d'avance.
- Concat sql
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Requete sql pix - Forum PHP
- Concat pdf - Télécharger - PDF
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
Bonjour, alors oui mais encore ?
J'ai donc essayé cette requête :
j'ai SELECT le probleme_id pour qu'on comprenne que ça ne fonctionne pas :
Je ne vois pas bien comment m'y prendre.
Tu concatènes les descriptions en fonction de l'id .. donc le group by doit se trouver sur l'id .. pas sur description
Okay j'ai modifié ma requête :
Mais c'est tjr pas ça j'ai remarqué 2 problèmesl a concaténation ne se fait pas dans l'ordre décroissant de plus si c'est le même jour je n'ai pas le dernier enregistrement :
Possible de concaténer en fonction de l'id de ma table historique ? De manière à ce que ça me retourne la dernière insertion.
Fais une sous-requête qui trie les données dans l'ordre que tu veux, puis utilise cette sous-requête pour faire ton group_concat
J'ai fais ça :
Mais ça va pas du tout pcq du coup il prend le dernier id de ma table historique du coup il prend q'un historique et pas tous mais je vois pas comment faire :
Ca commence à être prise de tête ce sql à l'aide