搜索

首页  >  问答  >  正文

使用CASE语句的GROUP_CONCAT可以产生多个输出。

<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>
P粉652495194P粉652495194536 天前629

全部回复(1)我来回复

  • P粉343408929

    P粉3434089292023-07-26 00:08:57

    您必须使用CONCAT()函数将item_no、'.'和item_name连接起来:

    ... THEN CONCAT(t2.item_no, '.', t2.item_name) END ...

    回复
    0
  • 取消回复