mariadb 如何转换列值(例如“aa,bb,cc”),用逗号分隔(例如“Da,Ba,Ca”),--应该引用其他表的列)?

nx7onnlm  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(72)

我使用select query在datagrid中显示数据。我面临的问题是,选择查询使用Table_Policy,正如你在下面看到的,一些值用逗号分隔,我需要在将其转换为名称后在网格中显示此模型列。
| 目标名| target_name |
| --| ------------ |
| 全部| ALL |
| 双A,双B,双C| Double A,Double B,DoubleC |
| 双C| Double C |
| 双D双E| Double D,Double E |

Table_Policy

| 模型。| MODEL. |
| --| ------------ |
| 全部| ALL |
| AA、BB、CC| AA,BB,CC |
| 抄送| CC |
| DD、EE| DD,EE |

Table_DETAIL

| 姓名。| NAME. |
| --| ------------ |
| 双A| DOUBLE A |
| 双B| DOUBLE B |
| 双C| DOUBLE C |
| 双D| DOUBLE D |
| 双E| DOUBLE E |
有没有一种方法可以让它与查询?(MariaDB)开发环境是spring Boot ,jsp,java,MYBATIS我应该在MVC中多做一个方法吗?请帮我解决这个问题。
我先在JavaScript中试了 AJAX 。 AJAX 成功之后,我使用split函数来创建数组,并在新的查询中使用这个数组

select B.Name
from (SELECT GROUP_CONCAT(name) 
      FROM table_detail
      WHERE CODE IN #{model}
      GROUP BY CODE )B

字符串
使用上面的查询,我得到的结果像“双A,双B,双C”,但我不知道如何使用这个查询转换整个列。

js81xvg6

js81xvg61#

也许像这样:

SELECT
 tp.ID,
 tp.MODEL,
 (SELECT GROUP_CONCAT(td.NAME SEPARATOR ', ') FROM Table_DETAIL td WHERE td.CODE IN(tp.MODEL) ) AS NAME
FROM 
  Table_Policy tp
ORDER BY ID

字符串

相关问题