Petite question mysql

  • Auteur de la discussion Auteur de la discussion mowmow
  • Date de début Date de début
Bonjour à tous,

J'aurais une toute petite question au niveau de MySQL : quelle est la fonction qui permet de récupérer toutes les valeurs d'un champ donné pour chaque enregistrement sous la forme d'une seule chaîne séparée par un séparateur comme "," ou autre. Je m'en souviens plus :(

Exemple : SELECT id FROM matable transformé en SELECT concatenation(id, ",") FROM matable

Merci d'avance ;)
 
Salut,

je crois que ça doit être ça

Code:
SELECT CONCAT_WS(",", ch1, ch2, ch3, ch4) FROM table;
 
Oui mais je désire concaténer tous les champs id de mes enregistrements.

Imaginons :
Code:
+-------+---------+
| id    | data    |
+-------+---------+
|  3332 | 43.1573 |
| 26314 | 50.8671 |
| 20631 | 48.9354 |
| 36760 | 46.7677 |
|  2500 | 44.5296 |
+-------+---------+
5 rows in set (0.17 sec)

Et bien j'aimerais récupérer simplement 3332,26314,20631,36760,2500 ;)
 
Sinon pour récupérer en colonne, tu peux essayer comme ça

Code:
$r = "SELECT id FROM table WHERE 1";
$sql = mysql_query($r,$id);
$tab = array();
$i = 0;
while($row=mysql_fetch_array($sql,MYSQL_ASSOC)) {
$tab[$i++] = $row["id"];
}
$res = implode(",", $tab));

y'a surement mieux...
 
Ouais mais l'intérêt c'était de récup ca dans la requete premiere, la jmen tape deux :) Bon c'est pas grave j'ai trouvé une solution alternative ;)

Merci bien :)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut