首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >逗号将值分隔为mysql中的行

逗号将值分隔为mysql中的行
EN

Stack Overflow用户
提问于 2016-06-02 07:50:01
回答 1查看 1.1K关注 0票数 1
代码语言:javascript
代码运行次数:0
运行
复制
SELECT DISTINCT jp.skills
FROM job_profile jp
UNION
SELECT js.skills
FROM job_seeker_profile js

结果:

代码语言:javascript
代码运行次数:0
运行
复制
|skills              |
|php                 |
|PHP,Jquery,MVC      | 
|java                |
|.net                |   
|Tally               | 
|php, mysql, yii     |
|css, html, bootstrap|
|javascript, json    |

但我需要将此作为每一项作为行(每个逗号分隔值为行)。

预期结果:

代码语言:javascript
代码运行次数:0
运行
复制
|skills   | 
|yii      |
|PHP      | 
|Jquery   |
|MVC      |
|.net     |   
|Tally    | 
|bootstrap|
|css      |
|html     |
EN

回答 1

Stack Overflow用户

发布于 2016-06-02 08:04:23

创建一个拆分函数,将数据拆分,然后创建逐行数据。

代码语言:javascript
代码运行次数:0
运行
复制
SELECT distinct  Split.fn.value('.', 'VARCHAR(100)') AS skills  
 FROM  
 (SELECT  CAST ('<a>' + REPLACE(skills, ',', '</a><a>') + '</a>' AS XML) AS Data  
  FROM  job_profile
 ) AS A CROSS APPLY Data.nodes ('/a') AS Split(fn); 

注意事项:根据需要更新内部查询

更新的:在您的例子中,查询将是

代码语言:javascript
代码运行次数:0
运行
复制
SELECT distinct  Split.fn.value('.', 'VARCHAR(100)') AS skills  
 FROM  
 (SELECT  CAST ('<a>' + REPLACE(jp.skills, ',', '</a><a>') + '</a>' AS XML) AS Data  
  FROM  job_profile jp
  UNION
    SELECT js.skills
    FROM job_seeker_profile js
 ) AS A CROSS APPLY Data.nodes ('/a') AS Split(fn); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37585732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档