GROUP_CONCAT utilisant l'instruction CASE peut produire plusieurs sorties.
P粉652495194
2023-07-25 08:17:06
<p>J'ai une requête SQL qui contient la ligne de code suivante : </p>
<pre class="brush:php;toolbar:false;">GROUP_CONCAT(CASE WHEN t3.ship=1 AND t4.item=0 THEN t2.item_name END ORDER BY item_id SEPARATOR '<br>') `Mon Liste d'éléments`</pre>
<p>La sortie actuelle est : Lampe. Cela fonctionne bien, mais je souhaite que le numéro d'élément stocké dans la colonne item_no soit affiché dans la liste. La sortie souhaitée est : 1. Lampe. J'ai essayé d'ajouter du code comme celui-ci sans succès : </p><p><br /></p>
<pre class="brush:php;toolbar:false;">GROUP_CONCAT(CASE WHEN t3.ship=1 AND t4.item=0 THEN t2.item_no, '.' ,t2.item_name FIN ORDER BY item_id SEPARATOR ' <br>') `Ma liste d'articles`</pre>
<p>Comment y parvenir ? </p>
Vous devez utiliser la fonction CONCAT() pour concaténer item_no, '.' et item_name :
... PUIS CONCAT(t2.item_no, '.', t2.item_name) END ...