使用CASE语句的GROUP_CONCAT可以产生多个输出。
P粉652495194
2023-07-25 08:17:06
<p>我有一个SQL查询,其中包含以下代码行:</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>') `My Item List`</pre>
<p>当前输出为:Lamp。它的工作正常,但是我希望在列表中显示存储在item_no列中的物品编号。期望的输出是:1. Lamp。我尝试添加了一些类似的代码,但是没有成功:</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 END ORDER BY item_id SEPARATOR '<br>') `My Item List`</pre>
<p>怎么实现?</p>
您必须使用CONCAT()函数将item_no、'.'和item_name连接起来:
... THEN CONCAT(t2.item_no, '.', t2.item_name) END ...