作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 SQL 中将一行拆分为多行。
例如,我有'A ADCT DROP INCALL -',其中包含空格和“-”,并且我希望这些值在多行中保持独立.
原始结果:
SELECT statuses FROM campaigns;
+-----------------------------------------+
| RESULT OF QUERY |
+-----------------------------------------+
| A ADCT DROP INCALL - |
+-----------------------------------------+
结果必须喜欢:
+-----------------------------------------+
| RESULT OF QUERY |
+-----------------------------------------+
| A |
| ADCT |
| DROP |
| INCALL |
+-----------------------------------------+
我尝试使用 SUBSTRING_INDEX ,例如:
SELECT status
FROM statuses
WHERE statuses.status NOT IN (SELECT SUBSTRING_INDEX(TRIM(dial_statuses)," ", 1) FROM campaigns WHERE campaign_id = '4000')
ORDER BY STATUS;
抱歉,我知道这是很基本的。
最佳答案
我相信你可以这样做:
SELECT
tablename.id,
SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1)
name
FROM
numbers
INNER JOIN tablename ON CHAR_LENGTH(tablename.name)
-CHAR_LENGTH(REPLACE(tablename.name, ',', ''))>=numbers.n-1
ORDER BY
id, n
请参阅 fiddle here .
如果无法创建表,则解决方案可以是:
SELECT
tablename.id,
SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1)
name
FROM
(select 1 n union all
select 2 union all select 3 union all
select 4 union all select 5) numbers
INNER JOIN tablename ON CHAR_LENGTH(tablename.name)
-CHAR_LENGTH(REPLACE(tablename.name, ',', ''))>=numbers.n-1
ORDER BY
id, n
fiddle 的例子是 here .
关于mysql - 如何将值拆分为多行(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940508/
我是一名优秀的程序员,十分优秀!